Commit Graph
100 Commits
Author SHA1 Message Date
Tor Harald Sandve 3d866812a6 Merge pull request #1671 from atgeirr/fix-infinite-loop
Fix potential infinite loop
2018-12-07 12:41:37 +01:00
Tor Harald Sandve 77869606f3 Remove repetitive logging info 2018-12-07 09:28:27 +01:00
Tor Harald Sandve b661791a63 Remove usage of BlackoilState class
This allows (re)moving of the following files
opm/autodiff/RateConverter.hpp
opm/autodiff/Compat.cpp
opm/autodiff/Compat.hpp
opm/core/props/BlackoilPropertiesInterface.hpp
opm/core/simulator/BlackoilState.cpp
opm/core/simulator/BlackoilState.hpp
opm/core/simulator/BlackoilStateToFluidState.hpp
opm/core/utility/initHydroCarbonState.hpp
opm/polymer/PolymerBlackoilState.cpp
opm/polymer/PolymerBlackoilState.hpp
tests/test_blackoilstate.cpp
2018-11-27 09:38:38 +01:00
Tor Harald Sandve 9903738690 Avoid copying of SummaryConfig 2018-11-19 09:41:00 +01:00
Tor Harald Sandve 54e33a00d2 Only update intensiveQuantities for perforated cells 2018-11-19 09:41:00 +01:00
Tor Harald Sandve 3a38b9fe53 Move addCellRates to interface and add is_cell_penetrated 2018-11-19 09:41:00 +01:00
Tor Harald Sandve 8dc874dda4 Make the computation of the productivity index only when asked for 2018-11-08 13:28:52 +01:00
Tor Harald Sandve 3bc292d168 Store well potential in well_state and pass it for output if asked for
A zero well potential is passed if the computation fails or
if it is a multisegmented well.
2018-11-08 13:28:24 +01:00
Tor Harald Sandve 7ccce99e1c Do the schur complement after calling the getConvergence method 2018-11-08 10:41:41 +01:00
Tor Harald Sandve 5edd63c554 flow: let the wells be managed by EclProblem 2018-11-08 10:40:28 +01:00
Tor Harald Sandve 19622dab57 start the execution timer when creating the eWoms simulator object
this provides accurate performance timings from within eWoms
code. For example, this is useful for output of TCPU.
2018-11-08 10:26:02 +01:00
Tor Harald Sandve 8fe2be3b7f Compute well productivity index and pass it to the output 2018-11-07 15:36:31 +01:00
Tor Harald Sandve eff1c21bb3 Merge pull request #1609 from GitPaean/refactoring_well_test
Refactoring well test to prepare for Physical limit related well test.
2018-11-02 10:40:59 +01:00
Tor Harald Sandve 52475eeea6 use specialized fluidstate in the aquifer model 2018-10-29 13:03:53 +01:00
Tor Harald Sandve 08c4a4857b Adapt to changes in schedule interface 2018-10-29 10:39:14 +01:00
Tor Harald Sandve df4db9dfbc Add support for MINPVV
The test and code for pinchprocessor is removed since it is no
longer used.
2018-10-15 13:39:47 +02:00
Tor Harald Sandve b0101647a1 Change default ToleranceMB from 1e-5 to 1e-6 2018-08-27 11:54:32 +02:00
Tor Harald Sandve 61b4b34ad6 Merge pull request #1542 from andlaus/use_ewoms_blackoil_update
flow: use the update procedure of the eWoms blackoil model
2018-08-21 09:16:35 +02:00
Tor Harald Sandve 4a2780d161 split close wells from close connection 2018-07-03 15:13:30 +02:00
Tor Harald Sandve a5f5581441 Fix more minor issues based on review 2018-07-03 14:07:53 +02:00
Tor Harald Sandve 8c819e1380 Merge pull request #1527 from OPM/revert-1525-addTestForEhystr
Revert "Add  test for cases with Carlson’s hysteresis model"
2018-06-29 14:08:41 +02:00
Tor Harald Sandve e509d9187a Revert "Add test for cases with Carlson’s hysteresis model" 2018-06-29 14:07:39 +02:00
Tor Harald Sandve 6606bb75b2 Minor fix based on code review 2018-06-29 13:33:56 +02:00
Tor Harald Sandve d769e7649a Name completion and connection consistently 2018-06-28 13:47:10 +02:00
Tor Harald Sandve 834f680587 Add support for COMPLUMP in WECON and WTEST 2018-06-28 13:28:30 +02:00
Tor Harald Sandve 0f4038342d add update data for wecon_wtest
and fix filename inconsistency
2018-06-28 10:16:29 +02:00
Tor Harald Sandve 22755cc257 Add support for combination of multi-segmented wells and WTEST 2018-06-28 10:16:29 +02:00
Tor Harald Sandve 3e53ed6386 implement WTEST support 2018-06-28 10:16:29 +02:00
Tor Harald Sandve b1e03d5196 Merge pull request #1523 from atgeirr/fix-currentDateTime
Cast argument for milliseconds() call to an integer.
2018-06-28 07:51:53 +02:00
Tor Harald Sandve f2ba643bc9 Add test case with Carlson’s hysteresis model where drainage curve (=0) or imbibition curve (=1) is used for the wetting phase 2018-06-27 15:28:25 +02:00
Tor Harald Sandve a255f8cc6f Merge pull request #1497 from andlaus/pass_async_output_param
Pass the async_output parameter to core ebos
2018-06-20 10:38:14 +02:00
Tor Harald Sandve e128dc7e87 Merge pull request #1478 from GitPaean/adding_control_equations
Adding well control equations
2018-06-04 15:12:31 +02:00
Tor Harald Sandve 2534cc46db WIP fix vfp in flow 2018-05-15 10:24:50 +02:00
Tor Harald Sandve 54c8a48481 code clean-up based on review 2018-05-08 10:22:47 +02:00
Tor Harald Sandve f00ad22d98 Fix thermal debug run 2018-05-02 09:15:52 +02:00
Tor Harald Sandve 936220f85c Add test case for thermal simulator in flow 2018-04-30 13:56:15 +02:00
Tor Harald Sandve ee88790dea Add a flow specialization for blackoil with energy conservation
The energy conservation is enabled by specifying either TEMP or
THERMAL in the deck. The deck also needs to contatin relevant fluid and rock
heat properties.

The blackoil + energy equations are solved fully implicit.
2018-04-30 13:45:18 +02:00
Tor Harald Sandve dee7d97b8f Merge pull request #1464 from totto82/fixilu
keep using the block inversion algorithm in OPM
2018-04-24 15:18:17 +02:00
Tor Harald Sandve f66fb298db keep using the block inversion algorithm in OPM 2018-04-24 11:25:33 +02:00
Tor Harald Sandve 6a3b869331 Merge pull request #1452 from andlaus/dissolve_aux
adapt to the removal of the `ewoms/aux` directory
2018-04-11 12:50:12 +02:00
Tor Harald Sandve 4e9403b8f8 Correct the RESV calculation for unsaturated cases
Make sure that the reservoar volumes always stays positive. i.e. we can
not remove more dissolved gas from the rate than the total volume amout
of gas.
2018-03-23 15:23:47 +01:00
Tor Harald Sandve 975a9a6766 Fix intial fluid distribution in the well
Solve the well equation in order to determine the initial fluid content
of the well used for the hydrostatic pressure calculation in the well.
2018-03-23 12:56:19 +01:00
Tor Harald Sandve 7c9dab1a64 Add reportStep method in SimulatorReport and use it 2018-03-12 14:48:34 +01:00
Tor Harald Sandve 15aeac3f90 Add option for relaxed CNV tolerance
Use a relaxed tolerance for individual cells (CNV) when iter >
max_strict_iter.

tolerance_cnv_relaxed_ is defauled to 1.0e9
This assure the same behaviour as current master, where CNV criterion is
ignored when iter > max_strict_iter

TODO: Test this with a stricter default ( <= 1.0)
2018-03-12 08:23:57 +01:00
Tor Harald Sandve 0c4ae5991f Use advanceTimeLevel() and updatedFailed() methods from model 2018-03-06 13:18:03 +01:00
Tor Harald Sandve 5f33a1a1bc Bugfix. enableStorageTerm=false
Shift intensiveQuantities each timestep
2018-03-05 14:53:59 +01:00
Tor Harald Sandve bcb501e3d3 Fix default output dir 2018-02-19 13:09:07 +01:00
Tor Harald Sandve a89a6af854 Some more cleaning in the output code in opm-output, ewoms and opm-
simulator

1) Don't depend on legacy code for communicating the data::wells
2) Bugfix. Store globalIdx instead localIdx in data::wells::complitions
3) Move ThreadHandle to ebos
2018-02-12 08:44:43 +01:00
Tor Harald Sandve cdeefc3a34 Fix command line argument for double precision restart output 2018-01-29 08:56:55 +01:00
Tor Harald Sandve 84a8b8eca6 Pass empty regionSummaryData and blockSummaryData to output 2018-01-29 08:56:55 +01:00
Tor Harald Sandve b38430ea2e Output TCPU for every substep. 2018-01-29 08:56:55 +01:00
Tor Harald Sandve f980c39e6c Change directory of parallel restart test 2018-01-29 08:56:55 +01:00
Tor Harald Sandve 6d0c716d76 Clean-up FIP 2018-01-29 08:56:55 +01:00
Tor Harald Sandve 36f6b7ad00 Remove writInit()
The EGRID and INIT files are written using ebos
2018-01-29 08:56:55 +01:00
Tor Harald Sandve 137ff53ae7 Remove output of FIP 2018-01-29 08:54:30 +01:00
Tor Harald Sandve c583e3d2eb start using parallelRestartTest 2018-01-05 14:54:07 +01:00
Tor Harald Sandve 73563db6a6 Merge pull request #5 from akva2/useEbosEclOutput
add support for parallel restart tests
2018-01-05 14:52:53 +01:00
Tor Harald Sandve 0e6fe26a61 Start using ecl output from Ebos
The wells, FIP and initial output of NNCs is still handled
by code in opm-simulators. The plan is to move more of the
functionality to ebos.

All tests pass and MPI restart works
2018-01-04 09:29:58 +01:00
Tor Harald Sandve 7567748f2d Adapt to changed initial FluidState type in ebos 2017-12-15 08:19:01 +01:00
Tor Harald Sandve 4097a07572 Change dp_max_rel default from 1.0 to 0.3 2017-12-14 11:16:16 +01:00
Tor Harald Sandve d099d88625 Add SPE1CASE2_OILGAS test case 2017-12-05 09:38:21 +01:00
Tor Harald Sandve 095b82212c Use the initial solution from Ebos 2017-12-04 10:35:30 +01:00
Tor Harald Sandve c787f5a251 Handle WEFAC
Added test combining WEFAC and GEFAC
2017-11-30 13:45:05 +01:00
Tor Harald Sandve 8ae24f7f02 Increase max_iter for ctests SPE5 and 2D_THREEPHASE_POLY_HETER 2017-11-30 08:45:03 +01:00
Tor Harald Sandve a1dbeec4d4 Use 1 day as default initial time step 2017-11-28 15:12:48 +01:00
Tor Harald Sandve 2d2f9285c5 Only read use_TUNING param once.
Just to clean up the .DEBUG file.
2017-11-28 14:25:25 +01:00
Tor Harald Sandve e350c04871 Fix date for long simulation times 2017-11-28 13:37:00 +01:00
Tor Harald Sandve 90fcf0b132 Fix pvtIndex map for cases with non-active eqlnum regions. 2017-11-27 13:40:09 +01:00
Tor Harald Sandve 9edb351d34 Put the ebosSimulator start and end methods were it belongs
Move the beginEpisode/endEpisode call to ebos to beginReportStep/
endReportStep and beginTimeStep/endTimeStep call to ebos to prepareStep/
afterStep
2017-11-24 15:16:03 +01:00
Tor Harald Sandve 85aa6d41cc Adress PR review issues 2 2017-11-24 10:52:57 +01:00
Tor Harald Sandve ba358c0522 Only update TUNING when TUNING_CHANGE event 2017-11-23 14:24:40 +01:00
Tor Harald Sandve dd97fc8908 Some clean up. 2017-11-23 11:15:50 +01:00
Tor Harald Sandve c076ed6485 Move Rateconverter and pvtIdx to the wellInterface 2017-11-23 08:37:30 +01:00
Tor Harald Sandve 054361d537 Make it possible to combine solvent and RESV
Compute the conversion factor for solvent using the RateConverter.hpp
2017-11-22 15:21:21 +01:00
Tor Harald Sandve 6862ed0b35 Fix 2p bug 2017-11-22 09:24:52 +01:00
Tor Harald Sandve 197019d865 Adress PR review issues 2017-11-22 08:31:57 +01:00
Tor Harald Sandve 5bb7bc1185 Remove the usage of partition_unif_idx() from opm-core 2017-11-21 15:01:52 +01:00
Tor Harald Sandve 2a7d7b8ae5 Pass ref instead of shared pointer to initEquil 2017-11-21 14:29:08 +01:00
Tor Harald Sandve 31bfb22273 Adapt to the refactoring of the Equil initialization code
Most noteably the blackoilState is not returned by the initialization
code anymore, instead the initialization class is returned.
2017-11-21 13:52:07 +01:00
Tor Harald Sandve d6ea5cc402 Cleaning the initialization code
-remove whitespaces
-fix documentation
2017-11-21 12:52:07 +01:00
Tor Harald Sandve 0ef82665f5 Use &ref not shared_pointer to MaterialLawManager 2017-11-21 12:08:10 +01:00
Tor Harald Sandve 51f48fcd13 Remove blackoilPhases and phaseUsage from the initialization code
Note 1: The initialization code now always consider 3 phases.
For 2-phase cases a trivial (0) state is returned.
Note 2: The initialization code does not compute a BlackoilStats,
but instead pass the initialization object with the initial state.
2017-11-21 12:08:10 +01:00
Tor Harald Sandve 36e8f1bfec Remove BlackoilProps from equil initalization code
Use FluidSystem and materialLaw from opm-material
directly not via the BlackoilProps in opm-core
2017-11-21 12:08:10 +01:00
Tor Harald Sandve c03dbc1693 Support TUNING in schdule section. 2017-11-21 11:12:16 +01:00
Tor Harald Sandve 614f75d9b9 Fix size of perf radius and length vectors. 2017-11-13 12:16:39 +01:00
Tor Harald Sandve 5647485daa Apply the well residuals to cell residuals in SolveJacobianSystem
This was moved to assemble() some time ago but according to my logic it
belongs in the solve method since this is only a trick to solve the well
equations simultaneously with the reservoir equations.

A buggy side effect of the currect implementation was that the well
residual was considered in the convergence test. I.e. this move changes
the convergence behaviour of the simulator.
2017-11-09 08:40:08 +01:00
Tor Harald Sandve a73208f41c Address issues raised in the review of the PR 2017-11-08 15:48:30 +01:00
Tor Harald Sandve 4bb5213f37 BUGFIX Update the solution variable in ebos
Updating the solution variable in updateState() was conceptually wrong
and lead to incorrect results if the linear solver failed before the
updateState() method was called. i.e. in the first iteration.
2017-11-08 14:21:31 +01:00
Tor Harald Sandve b9bc4b00cb Make the wellModel self-contained
The wellModel is now persistent over the time steps,
with an update method called every reportStep/episode.

This allows the following simplifications:

    1. move the wellState to the WellModel
    2. add a ref to the ebosSimulator to the wellModel
    3. clean up the parameters passed to the wellModel methods
    4. move RESV handling to the WellModel and the rateConverter
    5. move the econLimit update to the WellModel
2017-11-08 13:57:36 +01:00
Tor Harald Sandve dc8f811cbe Remove WellStateFullyImplicitBlackoilDense
After the restructuring of of the well model, keeping an extra class for
the "Dense" model is not needed. The only thing still left in
WellStateFullyImplicitBlackoilDense was some solvent related stuff, this
PR moves this to WellStateFullyImplicitBlackoil and removes
WellStateFullyImplicitBlackoilDense.

In addition to a cleaning code this PR fixes missing solvent well output.
2017-10-11 10:54:59 +02:00
Tor Harald Sandve 4b123f839a Update the swatinit test base on fix in opm-material#248 2017-10-11 09:39:12 +02:00
Tor Harald Sandve ebc2f46967 Use pore volume weighted averaged hydrocarbon state in rateConverted.
- pressure, rs and rv is averaged using hydrocarbon pore volume weights.
- pvtRegions is used as input in the conversion factor calculations.
- the pvt cell of the first well cell is used as the pvt index.
(Completing a well in two different PVT regions sounds like a very bad
idea anyway)
- FIP region support is added to the rate converter also for the ebos
interface.
2017-10-03 10:25:56 +02:00
Tor Harald Sandve 5839962e31 Some trivial cleaning 2017-09-21 12:16:46 +02:00
Tor Harald Sandve 992ab84435 Remove support and tests for pseudo 2p model in flow ebos 2017-09-20 08:11:44 +02:00
Tor Harald Sandve b452d16f46 Fix parallell run 2017-09-19 11:16:34 +02:00
Tor Harald Sandve 69c608829f Include RESV in the scaling factor
- solvent + RESV is not correct. Make the simulator throw until this is
sorted out.

- remove unused parameter
2017-09-18 11:28:13 +02:00
Tor Harald Sandve 352dccd5e9 Make 2p gas oil compile and runs
-- use mapping from canonicalToActiveCompIdx from Ebos
-- add guards againts non-existing components
2017-09-18 11:28:13 +02:00
Tor Harald Sandve 210f1edf25 Add test for invert 4x4 matrix specialization 2017-08-29 11:01:20 +02:00
Tor Harald Sandve 6716ca63c9 Force solvent saturation between [0,1] 2017-08-23 09:50:40 +02:00
Tor Harald Sandve 55fc987af8 Add 4x4 invertMatrix specialization in FMatrix
The specialization is added in the ISTLSolver, not in fmatrix.h in dune-
common since 1) we need it now 2) the special treatment of singular and
near singular matrices may be specifiy to the solvent model.
2017-08-23 09:50:19 +02:00