Commit Graph

1571 Commits

Author SHA1 Message Date
Elyes Ahmed
e05af09c43 cleaning 2022-09-23 13:28:04 +02:00
Elyes Ahmed
709a90b67d some fixes for flow_alugrid 2022-09-23 11:59:01 +02:00
Kai Bao
3bed5f41c1 for the cells having zero thickness
we use the cell center depth to do the equilibration
2022-09-23 09:59:52 +02:00
Håkon Hægland
affc5cb53b Return a pointer to the material manager
This is used by blackoilintensivequantities.hh. Further, for other
problems derived from MultiPhaseBaseProblem, that base class will
return a null pointer such that problems that do not override the
materialLawManagerPtr() method still can use the blackoil intensive
quantitites (which in the case of directional relative permeabilities
makes use of the problem reference to access the materialLawManager)
2022-09-22 23:54:29 +02:00
Arne Morten Kvarving
5bf41a6a28 hide --zoltan-params from --help
as this is an expert option, it should only
be displayed with --help-all
2022-09-16 21:00:45 +02:00
Arne Morten Kvarving
2fa479873e break long line 2022-09-16 21:00:30 +02:00
Bård Skaflestad
52d653efee
Merge pull request #4117 from akva2/zoltan_params
added: command line option for zoltan customization
2022-09-16 16:24:24 +02:00
Arne Morten Kvarving
c1c850538a added: command line option for zoltan customization
modeled after the linsolver support. a few built-in presets,
as well as reading options from a json file
2022-09-16 13:51:29 +02:00
Arne Morten Kvarving
4f9f0f921f changed: use Serializer from opm-common 2022-09-16 13:12:11 +02:00
Arne Morten Kvarving
7362386d3d changed: split out serialization in separate class
make it a template over a packer.
make EclMpiSerializer an instance of this template with
a MPI based packer, and move broadcasting functionality
to the new class
2022-09-16 13:11:45 +02:00
Arne Morten Kvarving
975e096d4c changed: make container handlers in eclmpiserializer protected
users only use operator()
2022-09-16 11:59:40 +02:00
Arne Morten Kvarving
62f22062dd eclmpiserializer: consistently make immutable access the exception
by nature of the operation, the data should be immutable on sender and
mutable on receiver. this way we atleast keep data immutable where we can,
and immutable access is explicitly marked by casts.
2022-09-16 11:57:23 +02:00
Arne Morten Kvarving
d31620b38b eclmpiserializer: simplify handling
everything can now be done through operator()
2022-09-16 11:57:23 +02:00
Håkon Hægland
c6129ad9a4 Renamed function in ecfvstencil.hh
Use the new name of the dirId() function in ecfvstencil.hh
2022-09-16 09:10:42 +02:00
Håkon Hægland
cbdec23e50 Also check for unknown face direction
To avoid compiler warnings, we also need to check for the unknown face
direction due to change in the FaceDir::DirEnum values in opm-common.
2022-09-16 09:07:25 +02:00
Arne Morten Kvarving
9cbb0aa05e added: pack array/vector of pod in one op 2022-09-15 14:04:41 +02:00
Arne Morten Kvarving
b1092c1a12 changed: refactor MPIPacker
to limit the overload party, we put packing details for
specific types in separate structs.
emit compiler error if unsupported type is given,
better to detect this on compile time rather than runtime
2022-09-15 14:04:41 +02:00
Arne Morten Kvarving
3a19ab31bd
Merge pull request #4106 from akva2/serializer_handle_tuples
changed: handle tuples in eclmpiserializer
2022-09-15 12:59:13 +02:00
Arne Morten Kvarving
3c389d5ece changed: handle pairs as tuples in eclmpiserializer 2022-09-15 11:19:04 +02:00
Håkon Hægland
9ed974fda3 Minor simplification
Simplify code using the unknown facedir value.
2022-09-14 23:54:43 +02:00
Arne Morten Kvarving
5c78925981 fixed: wrong root rank in variadic broadcast
change the test to broadcast from rank 1 instead of 0
so this bug does not resurface
2022-09-14 19:38:24 +02:00
Håkon Hægland
7d0265dd44 Limit access to face direction.
Only access the grid face direction information if directional relperms
have been enabled.
2022-09-14 15:34:41 +02:00
Håkon Hægland
8b1bcb36bc Adds support for KRNUM 2022-09-14 15:34:41 +02:00
Bård Skaflestad
67ec01a730
Merge pull request #4034 from plgbrts/equil2
Equilibration with water-gas ratio vs depth (RVWVD) table
2022-09-14 14:30:04 +02:00
Paul Egberts
7ca6e2a25e
Update equilibrationhelpers.hh
removed obsolete comment
2022-09-14 14:11:19 +02:00
Paul Egberts
29dec2686a
Update initstateequil.hh
removed obsolete comment
2022-09-14 14:08:40 +02:00
Paul Egberts
c2cac1b183 added equilibration option for water in gas 2022-09-13 18:02:33 +02:00
Arne Morten Kvarving
fdb2743ca9 changed: handle tuples in eclmpiserializer
thus we can remove support in MPIPacker
2022-09-13 15:54:37 +02:00
Arne Morten Kvarving
924ba450d2 fixed: remove_cvr_t should also remove volatile 2022-09-13 13:42:13 +02:00
Arne Morten Kvarving
f159eb524b changed: handle all vectors in eclmpiserializer
thus we can remove support in MPIPacker
2022-09-13 13:29:47 +02:00
Arne Morten Kvarving
6e83e349d6 changed: move variadic broadcast into EclMpiSerializer 2022-09-13 13:29:47 +02:00
Arne Morten Kvarving
9e6574115a EclMpiSerializer: add handler for vector<bool> 2022-09-13 13:29:47 +02:00
Arne Morten Kvarving
ebdfb0fc6a EclMpiSerializer: allow specifying root rank in broadcast/append 2022-09-13 13:29:47 +02:00
Arne Morten Kvarving
dfa870c313 changed: handle all sets in eclmpiserializer
thus we can remove support in MPIPacker
2022-09-13 12:39:07 +02:00
Arne Morten Kvarving
4cd9272a76 changed: handle all arrays in eclmpiserializer
thus we can remove support in MPIPacker
2022-09-13 12:08:39 +02:00
Arne Morten Kvarving
603e44068c changed: handle all maps in eclmpiserializer
thus we can remove support in MPIPacker
2022-09-13 11:32:37 +02:00
Arne Morten Kvarving
053dfc7ce5 eclmpiserializer: fix is_vector predicate
allow custom allocator
2022-09-13 10:49:54 +02:00
Bård Skaflestad
56c653235f
Merge pull request #4087 from akva2/rename_serialization
Rename serialization files
2022-09-13 10:48:33 +02:00
Paul Egberts
a8aa12f0a2 added evaporated water dependency of gas density in equil calculations 2022-09-12 16:02:35 +02:00
Arne Morten Kvarving
8e2b385f4d changed: put parts of ISTLSolverEbos in separate compile unit
in particular this means simulator objects are now not dependent
on FlexibleSolver.hpp and BdaBridge.hpp
2022-09-12 12:44:56 +02:00
Arne Morten Kvarving
58b0121e9b fixed: forward structs as struct 2022-09-09 08:37:59 +02:00
Arne Morten Kvarving
1838b39d2e changed: split ParallelRestart.hpp/cpp in two bits
the mpi serialization bit is put in MPISerializer.hpp/cpp,
while the parallel restart bit stays in ParallelRestart
2022-09-08 13:36:51 +02:00
Kai Bao
087eb56a64 changing max_strict_iter_ to min_strict_cnv_iter_
to make the naming reflect the actual usage more clearly.
2022-09-07 14:28:41 +02:00
Arne Morten Kvarving
e678146831 changed: use EclMpiSerializer in eclwriter 2022-09-06 15:36:58 +02:00
Arne Morten Kvarving
ee0d482b32 added: eclmpiserializer::append
this broadcasts from the root rank, and then appends
the results to existing data on the others
2022-09-06 15:36:30 +02:00
Arne Morten Kvarving
2d2f25b778 added: map predicate
use it to allow for serializing nested maps
2022-09-06 10:32:48 +02:00
Paul Egberts
1c70b5beea Equilibration with water-gas ratio vs depth (RVWVD) table 2022-09-05 09:59:16 +02:00
Bård Skaflestad
b3e517a8ef
Merge pull request #4055 from akva2/eclmpiserializer_map
eclmpiserializer: improve map handler
2022-09-02 21:01:47 +02:00
Arne Morten Kvarving
ade4cf978e eclmpiserializer: improve map handler
use has_serializeOp trait
2022-09-02 17:20:46 +02:00
Arne Morten Kvarving
2dd6433f16 eclmpiserializer: improve set handler
use has_serializeOp trait
2022-09-02 17:18:03 +02:00
Bård Skaflestad
a372a4d09e
Merge pull request #4052 from akva2/eclmpiserializer_vector
eclmpiserializer: improve vector handler
2022-09-02 17:10:10 +02:00
Bård Skaflestad
e3bc041909
Merge pull request #4051 from akva2/eclmpiserializer_array
eclmpiserializer: improve array handler
2022-09-02 17:09:41 +02:00
Arne Morten Kvarving
e2eac12593 eclmpiserializer: improve vector handler
use has_serializeOp trait
2022-09-02 14:36:42 +02:00
Bård Skaflestad
dff553db59
Merge pull request #4050 from akva2/eclmpiserializer_ptr
eclmpiserializer: improve ptr handler
2022-09-02 14:30:33 +02:00
Arne Morten Kvarving
3ed2a25470 eclmpiserializer: improve array handler
use has_serializeOp trait
2022-09-02 14:12:09 +02:00
Arne Morten Kvarving
9be60f2b3f eclmpiserializer: improve ptr handler
use has_serializeOp trait
2022-09-02 14:08:29 +02:00
Arne Morten Kvarving
a9eb6159ae eclmpiserializer: improve pair handling
use has_serializeOp trait
2022-09-02 13:54:39 +02:00
Bård Skaflestad
1a4313c73c Direct All Non-Triggered Action Messages to Debug File
End users typically do not care that a particular action did NOT
trigger at a particular time and these messages will typically
reduce the utility of the CASE.PRT file.  On important field cases
we've seen more than 100,000 such messages in a single run which is
quite overwhelming.

Since we're now directing the messages to the .DBG file instead
we're not taking away any diagnostic ability, merely altering the
location of the information.
2022-09-01 17:11:36 +02:00
Arne Morten Kvarving
8bd2af1517 added: generalize variant serialization handling 2022-09-01 13:24:17 +02:00
Arne Morten Kvarving
2c0ff6f81e consistently use ParallelCommunication.hpp for communication definition 2022-09-01 12:26:11 +02:00
Bård Skaflestad
5989604dfb Format Action Dates With Libfmt
Use libfmt's ability for format 'std::tm' objects to output
unambiguous dates.  While here, also apply 'const' to a number of
objects and scalar parameters.

Original output:
  The action ACT-01 evaluated to true at 2018/11/02  report:0.

New output:
  Action ACT-01 triggered at 02-Nov-2018 00:00:00 (report interval 0 to 1).
2022-08-26 11:04:55 +02:00
Arne Morten Kvarving
a9590215dc changed: consistently use std::array 2022-08-26 08:28:46 +02:00
Tor Harald Sandve
eb25ce1b99 clean-up comments and code 2022-08-18 08:27:38 +02:00
Tor Harald Sandve
262aead46c fix issue with summing over ghost cells twice 2022-08-17 10:27:39 +02:00
Tor Harald Sandve
ceac9e5ad8 disable drift compensation for cases without source terms 2022-08-17 10:21:25 +02:00
Tor Harald Sandve
1f54e90f33 Restrict drift compensation by CNV tolerance 2022-08-17 10:21:25 +02:00
Arne Morten Kvarving
6ed8a38ba5 changed: consistently use std::array 2022-08-16 08:38:54 +02:00
Arne Morten Kvarving
8cc0aa24de changed: switch to using libfmt 2022-08-15 13:48:19 +02:00
Arne Morten Kvarving
a3e46876fb minor cosmetics 2022-08-15 12:40:13 +02:00
Arne Morten Kvarving
99090ebf72 remove unused method
this was previously used by the ebos simulators
2022-08-15 12:40:13 +02:00
Arne Morten Kvarving
c405d718b1 changed: move action update handling to separate class
clearer interface boundaries plus it allows to build code only once
2022-08-15 12:40:13 +02:00
Atgeirr Flø Rasmussen
03352ff0fc Fix missing angle bracket. 2022-08-15 11:29:26 +02:00
Arne Morten Kvarving
4d5f6dde42 changed: move three more methods to generic problem class 2022-08-15 10:30:59 +02:00
Bård Skaflestad
27b695d0be Fix Averaged Quantities for Non-HC Simulations
Commit 6d3da3d2e introduced the notion of a "dynamic", pressure
dependent pore-volume and switched the 'PoreVolume' aggregates to
reference condition evaluation for output to the 'PORV' field in the
.PRT file.  We did however fail to update all existing uses of
'PoreVolume' which introduced an inconsistency.  In particular, for
simulation models without hydrocarbons-e.g., a single-phase water
run-the numerator of the volume weighted average would include
pressure effects through the rock compressibility but the
denominator would not.

Thanks to Edmund Stephens for discovering the issue and providing an
example model for analysing the underlying issue.
2022-08-11 16:07:00 +02:00
Arne Morten Kvarving
f57383f416 initstateequil: make it a private template 2022-08-11 15:34:55 +02:00
Arne Morten Kvarving
54cf35e821 equilibrationhelpers: make templates private 2022-08-11 15:34:55 +02:00
Arne Morten Kvarving
b399f72777 changed: avoid typetag dependence in equil initializer 2022-08-11 15:27:38 +02:00
Bård Skaflestad
624d7e51cd
Merge pull request #3977 from totto82/output_drsdtvon
output drsdtcon values to restart files
2022-08-11 14:51:12 +02:00
Bård Skaflestad
766543dd18
Merge pull request #3992 from akva2/ecl_modernization
Some small modernization changes in ecl classes
2022-08-10 13:26:25 +02:00
Arne Morten Kvarving
c69ee0d321 VtkEclTracerModule: some modernization
- typedef -> using
- use constexpr
2022-08-10 12:44:53 +02:00
Arne Morten Kvarving
8ce0f63ef6 FemCpGridCompat: some modernization
- typedef -> using
2022-08-10 12:44:53 +02:00
Arne Morten Kvarving
5e9610fdb9 EclThresholdPressure: some modernization
- typedef -> using
2022-08-10 12:44:53 +02:00
Arne Morten Kvarving
58b71c94af EclProblem: some modernization
- use if constexpr
2022-08-10 12:44:53 +02:00
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
Joakim Hove
8308152e88 Remove unused argument to Schedule::applyAction() 2022-01-20 08:13:12 +01:00
Paul Egberts
ba165838cd added enable conditions 2022-01-19 16:44:42 +01:00
Paul Egberts
590920db6b allow for explicit initialization of SALT (salt concentration) and SALTP (precipitated salt) 2022-01-18 11:12:43 +01:00
Paul Egberts
8044beb25d corrected TypeTag 2022-01-14 11:46:40 +01:00
Paul Egberts
0824ee0694 Initialization of solid salt saturation 2022-01-14 11:46:39 +01:00
Paul Egberts
dfe298a424 Allowing for non-eclipse output SALTP and PERMFACT 2022-01-14 11:46:39 +01:00
Joakim Hove
6b92443cb4 Downstream filesystem reorganisation in opm-common 2022-01-02 14:33:34 +01:00
Arne Morten Kvarving
9c4478c35b adjust to upstream changes 2021-12-14 13:40:47 +01:00
Tor Harald Sandve
1baee5ec9b
Merge pull request #3715 from goncalvesmachadoc/vapwat
update parameters BlackoilFluidSystem
2021-12-09 15:37:49 +01:00
Tor Harald Sandve
4184b4cbaf Fix DRSDTDYN
Add multiplication of missing reference oil density
2021-12-08 09:05:59 +00:00
Tor Harald Sandve
226ff0c9dc
Merge pull request #3721 from joakim-hove/respect-nextstep
Respect NEXTSTEP in ecl genericproblem timestepper
2021-12-06 10:41:07 +01:00
Tor Harald Sandve
7467a63656
Merge pull request #3717 from joakim-hove/enable-tracer
Suggestion: Remove enable switch for tracer support
2021-12-06 09:10:38 +01:00
Joakim Hove
9234fd8aa6 Respect NEXTSTEP in ecl genericproblem timestepper 2021-12-03 11:59:03 +01:00
Joakim Hove
43c0931cd3
Merge pull request #3718 from joakim-hove/tracer-rst-init2
Tracer rst init2
2021-12-02 13:14:19 +01:00
Bård Skaflestad
89dbf807b2
Merge pull request #2584 from goncalvesmachadoc/fixReport
fixReportPRT
2021-12-01 21:39:31 +01:00
Joakim Hove
f737536dd6 Remove unused tracer field with initial concentration 2021-12-01 17:18:17 +01:00
Joakim Hove
c49e5838c5 TracerModel prepare batches is called *after* initial values are set 2021-12-01 17:15:14 +01:00
goncalvesmachadoc
8b001e2e75 moveLogCall&ProtectField 2021-12-01 16:13:53 +01:00
Joakim Hove
8c8b764aa2 Remove enable switch for tracer support 2021-12-01 10:26:41 +01:00
Joakim Hove
e9c45f4ca8 Load tracer solution from restart file 2021-11-30 11:23:36 +01:00
Joakim Hove
609bdbb92b Pass bool flag rst to Tracer initialization 2021-11-30 11:23:36 +01:00
Joakim Hove
3522118c60 Use function tracer.fname() for name of restart output vector 2021-11-30 11:23:36 +01:00
Joakim Hove
d93261aad6 Implement tracerModel::name() and ::fname() with EclState 2021-11-30 11:23:36 +01:00
Joakim Hove
e42e412054 Implement numTracers with embedded EclipseState 2021-11-30 11:23:36 +01:00
Joakim Hove
d531dc01f9 Return mutable TracerModel& from EclProblem 2021-11-30 11:23:36 +01:00
Joakim Hove
5aede81b99 Add function to set tracer concentration in a cell 2021-11-30 11:23:36 +01:00
goncalvesmachadoc
90380c35ad update parameters BlackoilFluidSystem
fix

update parameters BlackoilFluidSystem
2021-11-29 16:38:43 +01:00
goncalvesmachadoc
52d096c46a fix NaN and Field Output 2021-11-25 19:44:16 +01:00
Joakim Hove
ad10e419da
Merge pull request #3707 from joakim-hove/tracer-optional
Initialize tracers based on optional values in TracerConfig
2021-11-24 09:42:18 +01:00
Joakim Hove
8869d7f02d
Merge pull request #3704 from joakim-hove/refactor-deck-api
Update deck access api
2021-11-23 14:58:40 +01:00
Joakim Hove
8f31d3150e Initialize tracers based on optional values in TracerConfig 2021-11-23 13:00:50 +01:00
Markus Blatt
6d8223f233
Merge pull request #3602 from blattms/parallel-tracers
[feature] Adds support for computing tracers in parallel runs.
2021-11-23 12:39:48 +01:00
Joakim Hove
36281b2aed Update deck access api 2021-11-18 15:11:50 +01:00
Markus Blatt
95651bc35c Fixes unused variable warning. 2021-11-17 16:02:16 +01:00
Markus Blatt
9a80d806c0 Setup parallel solvers for tracers. 2021-11-17 16:02:16 +01:00
Markus Blatt
342352d100 Use cellCentroids lookup function exported from vanguard.
That will take care of doing the right thing in parallel.
2021-11-17 15:55:07 +01:00
Markus Blatt
89f819ce66 Honor tracers in parallel. 2021-11-17 15:55:07 +01:00
Joakim Hove
b4b1045dc2 Flag tracer solution data with data type RESTART_TRACER_SOLUTION 2021-11-17 14:27:46 +01:00
Bård Skaflestad
d163bebcdc
Merge pull request #3699 from blattms/man-page-spelling
Adds manpage and fixes several spelling issue found by lintian
2021-11-17 09:59:50 +01:00
Joakim Hove
11ac39fa52
Merge pull request #3686 from joakim-hove/geo-actionx
Geo actionx
2021-11-15 22:30:52 +01:00
Markus Blatt
a2246d331b Spelling fixes
Gbp-Pq: Name 0005-Spelling-fixes.patch
2021-11-15 12:06:05 +01:00
Bård Skaflestad
6bf741502f Fix Incorrect Solution Array Tag
The Flow specific PORV_RC and TMULT_RC solution arrays were tagged
as ECLIPSE compatible.  Mark them as Flow specific so they do not
cause restart problems in the ECLIPSE compatible case.
2021-11-14 15:41:14 +01:00
Joakim Hove
4fc5d34090 Apply new GEO keywords when ACTIONX has applied geo multiplier 2021-11-12 08:02:52 +01:00
Joakim Hove
86f7a2d332 Use strict SimulatorUpdate as return type from Schedule::applyAction 2021-11-10 15:35:46 +01:00
Joakim Hove
06e71f1345 Broadcast updated transmissibility after runtime updates of MULT? 2021-11-09 14:22:19 +01:00
Joakim Hove
5f4efbde73 broadcast<T> with Schedule and TransMult specialization 2021-11-09 14:22:19 +01:00
Joakim Hove
0de04f8c48 Rename EclipseState::apply_geo_keywords -> apply_schedule_keywords 2021-11-07 19:58:20 +01:00
Joakim Hove
fd5640774b Call SingleWellState::update_targets for ACTIONX affected wells 2021-11-05 09:48:27 +01:00
Joakim Hove
dec387d95d Replace numerical assert check with std::isfinite() and throw 2021-11-02 17:04:48 +01:00
Atgeirr Flø Rasmussen
624d8b1343
Merge pull request #3651 from akva2/remove_gcc7_compat
use std::filesystem directly
2021-11-01 15:30:03 +01:00
Arne Morten Kvarving
903b5462aa
Merge pull request #3650 from akva2/remove_ebos
Remove ebos
2021-11-01 13:38:02 +01:00
Atgeirr Flø Rasmussen
5f81b77d14
Merge pull request #3639 from blattms/dune-fem-master
Fixes compilation with dune-fem 2.8
2021-11-01 13:10:17 +01:00
Arne Morten Kvarving
39a94863a0 remove ebos 2021-11-01 13:08:40 +01:00
Arne Morten Kvarving
06bd25575f use std::filesystem directly 2021-11-01 12:31:58 +01:00
Arne Morten Kvarving
371f26ac6b fix deprecation warning with dune 2.7+ 2021-10-29 12:18:36 +02:00
Markus Blatt
b8a1f04a48 Added missing explicit template instatiations for dune-fem 2.8. 2021-10-26 21:54:41 +02:00
Bård Skaflestad
3cfec109db
Merge pull request #3620 from blattms/removeSetupCart-rebased
[refactor] Remove cartesianToCompressed Mapping from well model
2021-10-25 16:43:08 +02:00
Alf Birger Rustad
0a1143abff Changed default for sched-restart to false 2021-10-25 12:14:33 +02:00
Joakim Hove
059efcd260 Add serializer support for std::array<T,N> 2021-10-25 10:50:34 +02:00
Markus Blatt
fa9e93529b Only consider perforation in the interior of the local grid.
This is needed for distributed wells to save most of the code
from checking whether a perforation is in the interior.

We add new methods compressedIndexForInterior that return -1
for non-interior cells and use that for the wells. This restores
the old behaviour before 1cfe3e0aad
2021-10-19 16:50:42 +02:00
Joakim Hove
85a103022b Remove unnecessary call to simulator.setStartTime() 2021-10-19 14:34:36 +02:00
Tor Harald Sandve
70c9d2e237
Merge pull request #3590 from daavid00/micp-2021-10
micp
2021-10-14 22:28:28 +02:00
daavid00
48b175904a first version of micp implementation in flow 2021-10-14 17:44:57 +02:00
Markus Blatt
6f0461691a [bugfix] Make tracerConcentrations_ valid for non-restart writes.
We decide whether to write tracer concentrations based on the size
of the tracerConcentrations_ container. Hence we need to make sure
that its size is zero after the concentrations have been written
and now resize the container to reflect that.

Before this change only the container inside tracerConcentrations_
were moved (and hence made empty) and next tiem we passed empty
containers to the output writing functions (which in parallel
triggered an assertion).
2021-10-14 11:05:33 +02:00
Joakim Hove
a86573c247
Merge pull request #3605 from atgeirr/remove-redundant-wellmanager
Reinstate tests in test_ecl_output.cc and remove unused classes.
2021-10-13 12:37:34 +02:00
Atgeirr Flø Rasmussen
432f4d8247 Remove unused class EclPeacemanWell 2021-10-13 11:00:08 +02:00
Atgeirr Flø Rasmussen
e6e8eab6d2 Remove unused EclWellManager class. 2021-10-13 10:56:33 +02:00