Commit Graph
100 Commits
Author SHA1 Message Date
Bård Skaflestad f980ff5f77 Merge pull request #3128 from totto82/fixTarget
reset target from wconprod and wconinje
2021-03-23 23:59:27 +01:00
Bård Skaflestad 9d72ee157c Merge pull request #3130 from totto82/addCO2testCases
add more co2 tests to ctest
2021-03-23 20:55:41 +01:00
Bård Skaflestad 41fd301d16 Merge pull request #3131 from fgfuchs/global_time_fix
fix bug that sets global_time to 0
2021-03-23 15:51:47 +01:00
Bård Skaflestad 537a59a65d Merge pull request #3129 from totto82/removeDiffusionSpecializatoins
remove unnecessary diffusion specializations
2021-03-23 13:29:21 +01:00
Bård Skaflestad 0468b2eee6 Merge pull request #2972 from goncalvesmachadoc/spider
Add cases to regression tests
2021-03-20 01:14:13 +01:00
Bård Skaflestad 120afea99a Merge pull request #3079 from totto82/testDiff
FOR TESTING. Enable Diffusion by default
2021-03-19 23:49:19 +01:00
Bård Skaflestad f82386c2d5 Merge pull request #3122 from joakim-hove/throw-std-logic-error
Deferred logger will throw "correct" exception
2021-03-19 17:26:42 +01:00
Bård Skaflestad 984ea28d6f Merge pull request #3121 from bska/prune-unused-object
Push 'corners' Object into Assert
2021-03-19 12:23:05 +01:00
Bård Skaflestad c220d7f127 Push 'corners' Object into Assert
That way we don't get "unused variable" warnings when someone
defines NDEBUG.  While here, also switch to using Geometry
references where appropriate to avoid needlessly copying Geometry
objects.
2021-03-19 09:42:27 +01:00
Bård Skaflestad 2b34dc843c Merge pull request #3119 from totto82/mintimestep
Change minimum timestep size to 1e-12
2021-03-19 09:39:35 +01:00
Bård Skaflestad b982ad0fd2 Record Dynamic Well Status in 'wellData()' Output
This commit sets the 'data::Well::dynamicStatus' based on the
dynamically updated 'Schedule' object (i.e., from ACTIONX and
similar) and the results of well/operability testing (WECON and/or
WTEST).  If a well is closed due to economic limits (WECON) we still
provide summary-style data at the timestep that closed the well, but
omit this data at later steps until the well reopens.

We add a new parameter to WellState::report() to distinguish these
situations.

This is in preparation of making the 'BlackoilWellModel' manage both
open and shut wells alike.
2021-03-18 17:28:28 +01:00
Bård Skaflestad 65edfb702c Preparations for Recording Dynamic Well State
Coalesce blocks with same conditions, split long lines, and apply
'const' where appropriate.  While here, also tighten the "rate = 0"
criterion to include denormalised numbers.
2021-03-18 17:28:28 +01:00
Bård Skaflestad 0667497108 Merge pull request #3039 from GitPaean/new_numerical_aquifer
New numerical aquifer
2021-03-16 16:30:53 +01:00
Bård Skaflestad 4ed085ddc3 Merge pull request #3073 from joakim-hove/timemap-api
Remove timemap member from Schedule
2021-03-03 18:17:27 +01:00
Bård Skaflestad d78f5dc259 Merge pull request #3083 from totto82/fixMPIThrow
Fix MPI issues in the well model
2021-03-02 12:04:39 +01:00
Bård Skaflestad a2a9ed192d Merge pull request #3084 from totto82/onlyLogOnRank0
only log changes of group controls on rank 0
2021-03-01 22:10:05 +01:00
Bård Skaflestad f3511548d8 Merge pull request #3092 from joakim-hove/dist-comment
Add comment about distribution
2021-03-01 20:46:52 +01:00
Bård Skaflestad 27fdb01a01 Merge pull request #3090 from OPM/revert-3085-rewrite-msg
Revert "Use fmt::format() for two messages"
2021-03-01 15:48:27 +01:00
Bård Skaflestad 945686ddb6 Merge pull request #3077 from totto82/testTestCo2store
Add CO2STORE test to ctest
2021-02-24 12:25:46 +01:00
Bård Skaflestad 2594a9af83 Merge pull request #3023 from totto82/addFlowCo2
Add diffusion in Flow
2021-02-18 18:33:38 +01:00
Bård Skaflestad 4f112e443f Merge pull request #3055 from joakim-hove/wellpi-update-connections
Extract functionality to update ecl_well
2021-02-10 21:15:20 +01:00
Bård Skaflestad 93cf3127d8 Merge pull request #3049 from joakim-hove/wellpi-no-scaling
Pass unscaled newWellPI to Schedule::applyWellProdIndexScaling()
2021-02-08 23:30:15 +01:00
Bård Skaflestad c15aa9586e Merge pull request #3041 from bska/support-bsX-quantities
Support Aliases for Block Level Quantities
2021-02-02 13:42:33 +01:00
Bård Skaflestad 03a616e08a Support Aliases for Block Level Quantities
In particular, treat BSOIL, BSGAS, BSWAT, and BPRESSUR as aliases
for BOSAT, BGSAT, BWSAT, and BPR respectively.
2021-02-02 11:36:41 +01:00
Bård Skaflestad 609cf77663 Merge pull request #3038 from bska/reset-nonlinit-count
Reset Non-Linear Iteration Count Before 'beginTimeStep'
2021-02-01 14:33:50 +01:00
Bård Skaflestad 76c59978b6 Reset Non-Linear Iteration Count Before 'beginTimeStep'
While here, also fix a couple of misprints in a nearby comment.
2021-01-29 12:30:34 +01:00
Bård Skaflestad 3e71c6fd65 Merge pull request #3036 from akva2/use_compile_time_info
changed: this is known on compile time
2021-01-28 16:31:58 +01:00
Bård Skaflestad 1c81dca30f Merge pull request #3014 from bska/chase-eps-api-update
Chase Unscaled Endpoint API Update
2021-01-27 18:31:17 +01:00
Bård Skaflestad d1ad97a7f1 Chase Unscaled Endpoint API Update
We no longer need to pass the "family" as an argument.
2021-01-27 15:04:26 +01:00
Bård Skaflestad 9360d0a646 Merge pull request #3033 from totto82/fixEmptyEquilOutput
Fix empty region output in parallel
2021-01-27 15:03:06 +01:00
Bård Skaflestad 27a11508ae Merge pull request #3031 from totto82/relperm_diag
Removing explicit usage of the Grid in the relperm diagnostics
2021-01-27 09:18:16 +01:00
Bård Skaflestad 7684f22073 Merge pull request #3000 from totto82/substituteSolveWellEq
substitute solveWellEq with inner iterations and initial solve
2021-01-26 09:59:37 +01:00
Bård Skaflestad 57d158bbbe Merge pull request #3024 from bska/initialise-aquct
Ensure Well Defined Initial Values for CT Data Members
2021-01-22 11:06:55 +01:00
Bård Skaflestad f8e4346e6d Ensure Well Defined Initial Values for CT Data Members 2021-01-22 09:04:08 +01:00
Bård Skaflestad 4d3a9af7d2 Merge pull request #3025 from totto82/fix2pEnergy
fix well model for gasoil thermal
2021-01-21 21:44:53 +01:00
Bård Skaflestad 42a6a3b573 Merge pull request #2974 from bska/chase-eps-api-update
Relperm Diagnostics: Chase EPS API Update
2021-01-05 11:53:49 +01:00
Bård Skaflestad cc6d0e35a3 Relperm Diagnostics: Chase EPS API Update
The API for extracting unscaled (raw) saturation end-points has
changed in opm-material.  Follow that change here.
2021-01-05 09:59:07 +01:00
Bård Skaflestad ca8cd922ac Merge pull request #2994 from bska/fix-bosat-smry-2p
Extract SOIL Directly for 'BOSAT' Summary Vector
2020-12-21 15:58:54 +01:00
Bård Skaflestad 27acd13a83 Merge pull request #2988 from akva2/add_autoicd_serialize_test
add serialization test for AutoICD
2020-12-21 15:33:58 +01:00
Bård Skaflestad a657f2371a Merge pull request #2996 from totto82/outputStoppedWells
output stopped wells
2020-12-21 15:22:25 +01:00
Bård Skaflestad e7ca9df998 Extract SOIL Directly for 'BOSAT' Summary Vector
This works better in two-phase runs (G/O or O/W).
2020-12-21 13:57:31 +01:00
Bård Skaflestad eb4aabc71a Merge pull request #2986 from totto82/scalePot
Initial well rates with the well potentials and scale the segment rates
2020-12-18 23:03:37 +01:00
Bård Skaflestad a325c5ff5f Merge pull request #2992 from alfbr/fix-missing
Remove WSEGAICD from missing features
2020-12-18 12:33:52 +01:00
Bård Skaflestad 38eb0802d6 Merge pull request #2984 from blattms/do-not-include-config.h-in-header
Do not include config.h in header (not even in *_impl.hpp)
2020-12-11 20:47:08 +01:00
Bård Skaflestad a9e739d0a2 Merge pull request #2977 from joakim-hove/connpos
Change access to connpos to use WellMap instead of index counting
2020-12-09 20:50:03 +01:00
Bård Skaflestad 0e938c0ca7 Merge pull request #2941 from totto82/dunifyInitCode
dunify and make the initialization parallel
2020-12-09 20:46:28 +01:00
Bård Skaflestad b83f8f0397 Merge pull request #2949 from totto82/msw_operability2
Check operability for MSW
2020-12-09 15:06:21 +01:00
Bård Skaflestad 63e08d3545 Merge pull request #2954 from blattms/distributed-well-report
2nd part distributed stdwells: Write reports only for wells owned.
2020-12-07 22:23:59 +01:00
Bård Skaflestad d06b7f9ec2 Record Basic Support for WELPI
Remove 'WELPI' keyword from MissingFeatures.
2020-12-04 15:16:25 +01:00
Bård Skaflestad 319c240336 Run WELPI Scaling At Beginning of Report Step
This commit implements the WELPI feature.  We calculate new PI/II
values for all wells in the event of a WELPI request and use those
values for well-specific WELPI request, to calculate CTF scaling
factors.  We then apply those factors to all subsequent editions of
the well provided the connection factors are eligible for
WELPI-based rescaling.

If we trigger a rescaling event we also reset the WellState's
internal copies of the CTFs and reinitialize the Well PI calculators
to ensure the rescaling takes effect immediately.  Since we rely on
PI values being available at the end of each time step we must also
take care to forward those values from the WellState of one report
step to the WellState of the next report step.

Finally, take care not to redo a WELPI scaling if we've already
performed the scaling operation and restart a report step.  This,
in turn, happens if WELPI is requested on the first report step.
2020-12-04 15:16:25 +01:00
Bård Skaflestad f6130861df Well Data: Report CTFs for Shut Connections
Needed to ensure that the CTFs reported to the summary files will be
correct in the presence of WELPI even for shut connections.
2020-12-04 15:16:25 +01:00
Bård Skaflestad e780d107ab Split Well Stat Initialization Out to Helper Function
Mostly to reduce the complexity of the implementation of
beginReportStep() and to enable easier reordering of the stages.
2020-12-04 15:16:25 +01:00
Bård Skaflestad 4e9e60a71b Refactor Well Guide Rate Summary Assignment
In anticipation of adding more steps later.
2020-12-04 15:16:24 +01:00
Bård Skaflestad c800c5376d Add Special-Purpose Operation to Reset WellState CTFs
This commit adds a new member function

    WellState::resetConnectionTransFactors

which overwrites the transmissibility factor of 'well_perf_data_'
pertaining to a particular well.  This is to keep the values in
sync following a rescaling operation such as WELPI.
2020-12-04 15:16:24 +01:00
Bård Skaflestad aaca907f77 Productivity Index Calculator: Add Reinitialization operation
This commit adds a new member function

    WellProdIndexCalculator::reInit(const Well& well)

which reinitializes the internal arrays in the same way as the
constructor.  This is needed to ensure that the PI calculation
device is synchronised in the case of CTF rescaling-e.g., as a
result of WELPI.
2020-12-04 15:16:24 +01:00
Bård Skaflestad 3ac2f02f4f Merge pull request #2839 from akva2/remove_liftopt_missing
remove LIFTOPT and WLIFTOPT from missing features
2020-12-04 13:52:09 +01:00
Bård Skaflestad b7fd9e42f4 Well Model: Add Helper for Well Pointer Creation
This commit adds a new helper function,

  WellInterfacePtr createWellPointer(wellID, reportStep) const

which is responsible for creating appropriately typed derived well
pointers depending on well types (multi-segment vs. standard).
This, in turn, allows us to centralise this logic and use the same
factory function both when creating the 'well_container_' and when
forming the well-test objects.

Finally, this helper will become useful for calculating PI/II values
of shut/stopped wells in the context of WELPI.
2020-12-02 16:30:46 +01:00
Bård Skaflestad bb2f1a8316 Merge pull request #2958 from blattms/use-perf-data-for-well-pi
Use WellInterface::perf_data_ to calculate PI.
2020-12-01 17:37:05 +01:00
Bård Skaflestad f23b301f40 Merge pull request #2950 from bska/fix-wpicalc-oob
Well PI: Use Appropriate Calculator for Each Well
2020-11-27 18:52:02 +01:00
Bård Skaflestad b0dc5c0a63 Well PI: Use Appropriate Calculator for Each Well
The original code assumed that

    well_container_.size() == numLocalWells()

This assumption does not hold when wells open/shut dynamically in
the context of WECON and/or WTEST.

Switch to indexing into the 'prod_index_calc_' vector using the
well's own linear index instead of manually advancing iterators.

Pointy Hat: [at]bska
2020-11-27 14:50:08 +01:00
Bård Skaflestad bd79d4b9d5 PI/II: Switch to Using Values Only
We don't need to do the calculations in terms of EvalWell when we're
going to reduce this to the .value() before calling the PI/II
calculation routine.  We can also get by with a simpler approach to
computing the II by assuming we always inject pure phases and no
cross flow in injectors.

Suggested by: [at]atgeirr
2020-11-24 21:53:58 +01:00
Bård Skaflestad 92589a697b PI/II Loop: Switch Order of Injection/Production Branches
For readability reasons.

Suggested by: [at]atgeirr
2020-11-24 21:53:58 +01:00
Bård Skaflestad c8a43b982c PI/II Loop: Check That We Process All Active Connections
Assert that the 'subsetPerfID' is equal to number_of_perforations_
at the end of the loop.

Suggested by: [at]atgeirr
2020-11-24 21:53:58 +01:00
Bård Skaflestad a46a732f9e PI: Treat Production Differently From Injection
This commit makes the PI/II calculation more closely mirror the
approach taken when computing connection flow rates.  In particular,
we switch to using total mobility, mixing and volume ratios for
injecting connections while producing connections continue to use
the phase mobilities and formation volume factors derived from
conditions in the connecting cells.  We also include dissolved
gas/oil ratios and vaporised oil/gas ratios in order to fully
capture the surface flow conditions.

We split the handling of producing/injecting connections out to
separate helper functions in order to make the overall logic in
updateProductivityIndex() more manageable.ex() more manageable.
2020-11-24 21:53:58 +01:00
Bård Skaflestad 75156cd872 Unconditionally Calculate PI at End of Timestep
This commit ensures that we calculate the well and connection level
per-phase steady-state productivity index (PI) at the end of a
completed time step (triggered from endTimeStep()).

We add a new data member,

    BlackoilWellModel<>::prod_index_calc_

which holds one WellProdIndexCalculator for each of the process'
local wells and a new interface member function

    WellInterface::updateProductivityIndex

which uses a per-well PI calculator to actually compute the PI
values and store those in the WellState.  Implement this member
function for both StandardWell and MultisegmentWell.  Were it not
for 'getMobility' existing only in the derived classes, the two
equal implementations could be merged and moved to the interface.

We also add a new data member to the WellStateFullyImplicitBlackoil
to hold the connection-level PI values.  Finally, remove the
conditional PI calculation from StandardWell's well equation
assembly routine.
2020-11-24 21:53:58 +01:00
Bård Skaflestad 9f12a2edba Merge pull request #2931 from alfbr/guiderat-supported
Removed supported keywords from list
2020-11-24 21:51:30 +01:00
Bård Skaflestad 02957bcfda Merge pull request #2937 from joakim-hove/summary-pass-inplace
Support summary keyword RHPV
2020-11-24 21:50:03 +01:00
Bård Skaflestad 4ae70ee12e Merge pull request #2927 from akva2/disable_python_tests_debian_packaging
Disable python tests in debian packaging
2020-11-23 10:52:36 +01:00
Bård Skaflestad 729da46fd5 Merge pull request #2917 from bska/restore-2d_h-update
Restore Case Name for 'msw_2d_h' Regression Test
2020-11-20 01:15:06 +01:00
Bård Skaflestad e6d73f569a Use Unique CASENAME for 'SPE1CASE2'
The 'update_reference_data' script refers to this as 'spe12', so
pick the same casename here.  While here, also ensure that we use
the correct 'DIR' specification for this test case.
2020-11-19 22:42:36 +01:00
Bård Skaflestad 966d7e1761 Restore Case Name for 'msw_2d_h' Regression Test 2020-11-19 22:42:36 +01:00
Bård Skaflestad 433a8f8d99 Merge pull request #2930 from joakim-hove/store-schedule
Remove arguments
2020-11-19 11:03:01 +01:00
Bård Skaflestad fc3ce85be2 Merge pull request #2906 from goncalvesmachadoc/patch-3
Delete some radial keywords from Missing Features
2020-11-06 16:35:57 +01:00
Bård Skaflestad 4396bab828 Merge pull request #2904 from akva2/bump_version
bump version to 2021.04-pre
2020-11-06 09:19:31 +01:00
Bård Skaflestad 0102287de0 Merge pull request #2885 from akva2/packaging_scotch_metis
add scotch(par)metis to debian packaging
2020-10-30 16:52:07 +01:00
Bård Skaflestad 5b601461d8 Merge pull request #2881 from goncalvesmachadoc/patch-2
Delete WEIR and WEIT
2020-10-28 21:09:37 +01:00
Bård Skaflestad 6f032e8efe Merge pull request #2876 from akva2/equil_to_boost_test
Use boost::test in test_equil
2020-10-28 13:02:13 +01:00
Bård Skaflestad fb962da061 Merge pull request #2877 from akva2/ecl_output_to_boost_test
Use boost::test in test_ecl_output
2020-10-28 11:41:21 +01:00
Bård Skaflestad 5dd56b99cc Merge pull request #2862 from bska/fix-conn-rates
Extract Correct Connection-Level Rates
2020-10-26 14:38:06 +01:00
Bård Skaflestad 3058047d3c Extract Correct Connection-Level Rates
The Polymer, Brine, and Solvent quantities would be extracted from
elements 0..#perf-1 of their pertinent container rather than from
the elements associated to the particular well.
2020-10-23 22:24:00 +02:00
Bård Skaflestad ad1406869d Merge pull request #2872 from akva2/janitoring
fix typo
2020-10-23 13:54:44 +02:00
Bård Skaflestad 29a4ff6ae0 Merge pull request #2865 from akva2/change_mpi_procs
changed: run tests on 4 processors
2020-10-21 09:35:16 +02:00
Bård Skaflestad 9a71bbe4b0 Move 'gridForConn' Into Cuda/OpenCL Block
It is only used within this context and produces a warning of the
form

  ISTLSolverEbos.hpp:128:25: warning: unused variable ‘gridForConn’

unless the build configures accelerator support.
2020-10-19 02:28:05 +02:00
Bård Skaflestad f8c276d023 Merge pull request #2845 from bska/welpi
Add Calculator for Connection/Well Productivity Index
2020-10-13 16:58:36 +02:00
Bård Skaflestad 7bf4b76dac Add Doxygen Documentation to Well PI Calculator
Suggested by [at]atgeirr.
2020-10-13 15:42:35 +02:00
Bård Skaflestad b6e0bd1b7b Add Calculator for Connection/Well Productivity Index
Switches between using the logarithmic and unit scaling factor based
on whether or not the well has an explicit, positive drainage radius
(WELSPECS item 7).  Does presently not include the D factor.

Add a set of unit tests to exercise the facility.
2020-10-13 15:42:35 +02:00
Bård Skaflestad 406feea8e7 Merge pull request #2835 from bska/chase-ctfac-api-update
Provide Simulator's Dynamic CTF in data::Connection
2020-10-06 14:33:12 +02:00
Bård Skaflestad e39333895c Provide Simulator's Dynamic CTF in data::Connection
This is in preparation of implementing the WELPI feature.
2020-10-05 23:14:24 +02:00
Bård Skaflestad 14e34378b0 Merge pull request #2829 from GitPaean/wip_aquifer_keywords
aquifer summary keywords
2020-10-05 22:51:40 +02:00
Bård Skaflestad 362c84a01c Merge pull request #2798 from totto82/outputTemperature
output temperature when TEMP is set
2020-09-24 22:06:20 +02:00
Bård Skaflestad fde3c476c3 Chase Group/Node Summary API Update
This is in preparation of adding support for outputting the network
node pressure quantity, GPR, to the summary file.  In particular,
'GroupValues' is renamed to 'GroupAndNetworkValues' and has new
individual datamembers for the former group-level data and the new
node-level data.

Update BlackoilWellModel::groupData() and CollectToIORank
accordingly and bring the parallel restart facility in line with the
new layout.
2020-09-20 22:26:07 +02:00
Bård Skaflestad 6a592a8c55 Merge pull request #2789 from joakim-hove/keywordlocation
Rename Location -> KeywordLocation
2020-09-16 23:35:46 +02:00
Bård Skaflestad fdb035894d Merge pull request #2726 from bska/guiderate-efac-accum
Include All Pertinent EFACs In Guiderate Potential Updates
2020-09-15 15:15:08 +02:00
Bård Skaflestad e8582ce476 Include All Pertinent EFACs In Guiderate Potential Updates
This commit switches the helper function

    WellGroupHelpers::updateGuideRateForGroups<>()

to include efficiency factors in the potential rates at grouptree
levels below a particular group.  We furthermore switch the helper
function

    WellGroupHelpers::updateGuideRatesForWells<>()

to not include efficiency factors at all.

The motivation for this change is that efficiency factors always
apply to the level we're accumulating rate values into rather than
to the rate values themselves.
2020-09-15 09:44:52 +02:00
Bård Skaflestad 453dec3e26 Merge pull request #2785 from blattms/improve-parallel-deck-error-handling
Improves error handling and reporting in parallel.
2020-09-15 09:06:43 +02:00
Bård Skaflestad 79f2908277 Merge pull request #2782 from totto82/fixOilWater
Fix oil water for MSW
2020-09-14 20:00:09 +02:00
Bård Skaflestad e4878addb4 Merge pull request #2727 from totto82/fixUnitSalt
fix output unit salt
2020-09-14 15:46:11 +02:00
Bård Skaflestad c219b61c65 Merge pull request #2767 from joakim-hove/summary-reg
Started to support summary regions
2020-09-14 11:54:19 +02:00
Bård Skaflestad 4b72b476b5 Merge pull request #2784 from alfbr/missing-features
Removed OPERATER and OPERNUM since they are supported.
2020-09-13 23:57:19 +02:00
Bård Skaflestad 09412bea62 Merge pull request #2776 from blattms/apply-all-multz
Apply minimum of Z multiplier for PINCH(5)==ALL, Prepare for PINCH(5)==TOP
2020-09-11 16:29:00 +02:00