Commit Graph

479 Commits

Author SHA1 Message Date
Tor Harald Sandve
2af2df3a92 implement dirichlet boundary conditions 2022-11-04 12:12:08 +01:00
Markus Blatt
060dfde864 Fixed typo: acess -> access 2022-11-01 21:45:47 +01:00
Atgeirr Flø Rasmussen
142921e3d5 Ensure linearizer is updated after transmissibility changes. 2022-10-27 09:54:40 +02:00
Arne Morten Kvarving
586b88d3ad changed: use BCData struct for freebc 2022-10-17 15:01:27 +02:00
Arne Morten Kvarving
95ab3427e2 initialize nonTrivialBoundaryConditions inline
this way you don't have to read the code to find the
default value
2022-10-17 15:01:27 +02:00
Arne Morten Kvarving
d2a720e40c changed: use a struct for holding BC data
keeps related data as a single class member.
use this for massratebc_
2022-10-17 15:01:27 +02:00
Arne Morten Kvarving
3599e0e5de eclproblem: use elements range generator 2022-10-13 23:00:57 +02:00
Arne Morten Kvarving
ecc36f6ce8 fix cmake handling
- use imported target for linking
- use separate damaris cmake script
- handle HAVE_DAMARIS config variable in the usual way

fixing issues when user does not provide an outputDir via a command_line

avoid adding damaris's command lines when we dont have damaris
2022-10-13 12:23:06 +02:00
Atgeirr Flø Rasmussen
c1b3c5e973 Rename option to EnableDamarisOutputCollective. 2022-10-13 12:23:06 +02:00
Joshua Bowden
fa7af3540c Changes needed to add Damaris functionality. The current state is that we output the pressure field and we use both HDF5 and parallel HDF5.
Damaris initialization is added after InitMpi but before starting the simulation. Damaris will invoke a separate core for writing in
parallel and leave the rest of cores for the simulator. The main changes are in main where start_damaris and then in eclwriterm where
we use damaris to output the PRESSURE. To test Damaris one can use --enable-damaris-output=true and to use parallel HDF5 one can use
--enable-async-damaris-output=true (false is the default choice)
2022-10-13 12:23:06 +02:00
Arne Morten Kvarving
c4e2ffea57 simplify updateProperty_: use elements() range generator 2022-10-05 15:36:22 +02:00
Arne Morten Kvarving
26b8fe01a3 changed: use updateProperty_ in updateCompositionChangeLimits_() 2022-10-05 15:36:19 +02:00
Arne Morten Kvarving
2d33932160 changed: use updateProperty_ in updateMaxPolymerAdsorption_ 2022-10-05 15:31:13 +02:00
Arne Morten Kvarving
0841b2baf4 changed: use updateProperty_ in updateHysteresis_ 2022-10-05 15:28:07 +02:00
Arne Morten Kvarving
f4cd69f422 changed: use updateProperty_ in updateMinPressure_ 2022-10-05 15:25:07 +02:00
Arne Morten Kvarving
80b54a85ad changed: use updateProperty_ in updateMaxWaterSaturation_ 2022-10-05 15:21:52 +02:00
Arne Morten Kvarving
32995d34a1 changed: use updateProperty_ in updateMaxOilSaturation_ 2022-10-05 15:18:49 +02:00
Arne Morten Kvarving
e4fe00413b added: EclProblem::updateProperty_ function
this loops over the grid cells, extracts compressedDofIdx
and intensive quantities and then calls a passed function.
2022-10-05 15:11:49 +02:00
Bård Skaflestad
3bb35b223c
Merge pull request #4119 from atgeirr/refactor-boundary-flux
Refactor boundary flux
2022-09-29 16:21:34 +02:00
Atgeirr Flø Rasmussen
bc13f57e95 Simplify the boundaryCondition() method. 2022-09-28 08:47:04 +02:00
Atgeirr Flø Rasmussen
5e08a9fc12 Make boundary condition data accessor function. 2022-09-28 08:47:04 +02:00
Atgeirr Flø Rasmussen
b65f5e9808 Add new overload for transmissibilityBoundary() without element context. 2022-09-28 08:47:04 +02:00
Kai Bao
7881161497 we only use drift compensation when wells are active
shut wells are not considered to be active.
2022-09-27 14:51:40 +02:00
Håkon Hægland
c9ae20bb64 Move updateRelperms() to the problem class
Moves the updateRelperms() method in BlackOilInstensiveQuantities in
opm-models to the EclProblem class and its parent MultiPhaseBaseProblem.
This is a more natural place for this method and it avoids having to
include EclMaterialManager into the  BlackOilInstensiveQuantities.
2022-09-26 17:13:03 +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
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
Håkon Hægland
8b1bcb36bc Adds support for KRNUM 2022-09-14 15:34:41 +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
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
Arne Morten Kvarving
4d5f6dde42 changed: move three more methods to generic problem class 2022-08-15 10:30:59 +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
58b71c94af EclProblem: some modernization
- use if constexpr
2022-08-10 12:44:53 +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
c48770dc5f Remove EclProblemTpfa, folding all methods into EclProblem. 2022-08-09 11:11:36 +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
Elyes Ahmed
5c2b60bcd0 rebasing 2022-07-28 20:40:34 +02:00
Tor Harald Sandve
9d18f164db fix saturated density in DRSDTCON 2022-04-21 08:35:07 +02:00
Paul Egberts
c316865681 fix initialization for the single phase cases 2022-03-14 15:10:03 +01:00
Paul Egberts
d89672e4a3 some clean up 2022-03-06 20:51:57 +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
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
0824ee0694 Initialization of solid salt saturation 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
Tor Harald Sandve
4184b4cbaf Fix DRSDTDYN
Add multiplication of missing reference oil density
2021-12-08 09:05:59 +00: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
c49e5838c5 TracerModel prepare batches is called *after* initial values are set 2021-12-01 17:15:14 +01:00
Joakim Hove
8c8b764aa2 Remove enable switch for tracer support 2021-12-01 10:26:41 +01:00
Joakim Hove
609bdbb92b Pass bool flag rst to Tracer initialization 2021-11-30 11:23:36 +01:00
Joakim Hove
d531dc01f9 Return mutable TracerModel& from EclProblem 2021-11-30 11:23:36 +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
Markus Blatt
a2246d331b Spelling fixes
Gbp-Pq: Name 0005-Spelling-fixes.patch
2021-11-15 12:06:05 +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
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
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
Elyes Ahmed
f53c597f90 Replacing use of MPI_COMM_WORLD with a variable communicator. 2021-10-05 13:07:52 +02:00
Markus Blatt
3cda8a2fdb Added missing parallel try-catch clause for updatePrimaryIntensities.
As Problem::updatePrimaryIntensities might throw we need to do this
to prevent dealocks in parallel run in case problem occurs.
2021-09-24 09:25:44 +02:00
Joakim Hove
e16e721003 Eavluate all UDQ ASSIGN statements at the start of report step 2021-09-13 15:18:44 +02:00
Bård Skaflestad
ed3ea9fa49 Don't Assign Restart Rs/Rv Unless O/G Both Active
This enables running two-phase oil/water restart cases.
2021-08-19 21:07:05 +02:00
Joakim Hove
0da38ee7d0 Store the action result - when evaluated to true 2021-08-19 15:32:47 +02:00
Torbjørn Skille
4e9a19cf7c Extra command line argument write-lodsmry for creating LODSMRY file
- default is false
 - file LODSRMY optimized for fast loading of selected vectors
2021-08-12 20:16:07 +02:00
Paul Egberts
ec4bb5c9c7 set gas saturation for water-gas system 2021-08-01 17:52:33 +02:00
Ove Sævareid
738877fc1b Default activation of tracer model. 2021-07-06 17:06:10 +02:00
Joakim Hove
fcc4970337
Merge pull request #3318 from akva2/eclwellmodel_no_default
changed: do not set the ebos well model as default type
2021-06-04 09:58:46 +02:00
Arne Morten Kvarving
c2211b532f eclwriter: fix regression in parallel
order of constructing and obtaining global transmissibilities
was off. replace constructor argument with a setter so it can be
set at the appropriate time.
2021-06-01 09:08:38 +02:00
Bård Skaflestad
bd9b9a7118 Prepare to Save/Restore Richer Set of Aquifer Values
This commit adds logic to communicate more dynamic aquifer values
between the simulation and I/O layers.  In particular, we ensure
that we allocate the 'aquFet' and 'aquCT' substructures of the
dynamic aquifer data as appropriate and that we collect this
information on the I/O rank as part of the restart output process.
We furthermore make the 'ParallelRestart' facility aware of dynamic
aquifer data in preparation of loading these values from the restart
file.
2021-05-28 14:47:17 +02:00
Arne Morten Kvarving
d65a9a5f70 changed: do not set the ebos well model as default type
rather, only set it where we want to use it. this avoids including
eclwellmanager.hh and eclpeacemanwell.hh unnecessarily in
simulator objects (where BlackoilWellModel is used).
2021-05-28 11:28:43 +02:00
Arne Morten Kvarving
a128c64a03 use if constexpr 2021-05-28 09:03:17 +02:00
Arne Morten Kvarving
cbd7cfe8b6 split eclproblem in typetag dependent and typetag independent classes 2021-05-28 08:54:10 +02:00
Arne Morten Kvarving
f7dd0e34c3 eclproblem: fix typo in alugrid code 2021-05-26 15:12:08 +02:00
Arne Morten Kvarving
d5e9d32d7c eclproblem: use .empty() instead of size() == 0 2021-05-26 15:11:14 +02:00
Arne Morten Kvarving
3294917710 eclproblem: remove unused accessor 2021-05-26 15:03:22 +02:00
Arne Morten Kvarving
2a2b128820 eclproblem: remove unused type alias 2021-05-26 14:59:39 +02:00
Arne Morten Kvarving
fe57de72b2 eclproblem: only call function if an extension is enabled 2021-05-26 14:59:12 +02:00
Arne Morten Kvarving
aa7ec98c0f eclproblem: use if constexpr for enableApiTracking 2021-05-26 14:51:24 +02:00
Arne Morten Kvarving
be9c03bfac eclproblem: use if constexpr for enableDiffusion 2021-05-26 14:50:27 +02:00
Arne Morten Kvarving
99273fee85 eclproblem: use if constexpr for enableEnergy 2021-05-26 14:50:04 +02:00
Arne Morten Kvarving
94fe38fc93 eclproblem: use if constexpr for enableExtbo 2021-05-26 14:48:06 +02:00
Arne Morten Kvarving
baad3a7722 eclproblem: use if constexpr for enableBrine 2021-05-26 14:47:10 +02:00
Arne Morten Kvarving
68f9aeb78f eclproblem: use if constexpr for enablePolymerMolarWeight 2021-05-26 14:45:42 +02:00