Commit Graph
100 Commits
Author SHA1 Message Date
Kai Bao 7a67b16c3e addressing review comments for PR OPM/opm-simulators#4429 2023-02-21 15:27:05 +01:00
Kai Bao 73dc31a7a5 updating AquiferConstantFlux with AQUFLUX
not recreating new instances to avoid unnecessary cost from constructor.
2023-02-21 13:20:36 +01:00
Kai Bao 6fa97874f8 adding regression test for AQUFLUX-01 2023-02-21 13:20:36 +01:00
Kai Bao 71119b6e42 WIP in making AQUFLUX running in parallel. 2023-02-21 13:20:36 +01:00
Kai Bao 7bd1cd9aa1 following the AQUFLUX design change from opm-common 2023-02-21 13:20:36 +01:00
Kai Bao 9a0ea0cb97 WIP in adding summary output for AQUFLUX aquifers
FAQR and FAQT are not working properly yet.
2023-02-21 13:20:36 +01:00
Kai Bao 248f6b73d9 WIP of supporting AQUFLUX from simulator side 2023-02-21 13:20:36 +01:00
Kai Bao 0d00337275 Merge pull request #4409 from GitPaean/update_well_state_with_thp_target2
update well state when switching to THP control for producers
2023-02-10 16:08:32 +01:00
Kai Bao 57bf959efd update well state when switching to THP control for producers
hopefully, it begins at a reasonably good initial point. When the Newton
iteration begins with certian solution region, the nonlinear solution
might fail.
2023-02-07 14:50:07 +01:00
Kai Bao 899ab9b13d fix the running when solution does not change between time steps
The PID time step control will not pose any constraint on the time step
size by returning a largest possible time step size.
2023-02-02 22:36:43 +01:00
Kai Bao 9a12869cdb making sure to check the network nodal pressure constraint
when checking the THP constraint for producers.
2023-01-26 14:04:58 +01:00
Kai Bao a9a69a6d70 including <optional> header to WellContainer 2023-01-24 10:34:57 +01:00
Kai Bao 1f077c35d2 rewrting frictionPressureLoss fucntion for better jacobian matrix
it removes some singularity warning from UMFPack.
2022-12-07 11:43:12 +01:00
Kai Bao 3d86688d0f renaming local_comp_index to local_conn_index
in function WellState::reportConnections() since there is no
completion involved here.
2022-12-01 15:42:18 +01:00
Kai Bao aaf76227f6 using correct CPI indices for connections
in WellState::reportConnections()
2022-12-01 15:16:35 +01:00
Kai Bao 6102249466 Merge pull request #4289 from akva2/fix_thp_regression
fix regression in wells
2022-11-28 10:46:35 +01:00
Kai Bao 48fa688a17 Merge pull request #4274 from GitPaean/handle_small_fractions_for_sicd
not calculating emulsionViscosity for small liquid_fraction
2022-11-21 13:26:17 +01:00
Kai Bao 9a1520a367 Merge pull request #4262 from totto82/fixInjTemp2
remove derivative in thermal flux for injectors
2022-11-21 13:25:24 +01:00
Kai Bao 5e35477ce1 a little different form to keep the derivatives 2022-11-17 22:57:42 +01:00
Kai Bao 3ddb830ae9 not calculating emulsionViscosity for small liquid_fraction
it might introduce inf/nan in the Jacobian matrix.
2022-11-17 15:20:56 +01:00
Kai Bao 97b016ef44 fixing some typos in MultisegmentWell_impl.hpp 2022-11-05 22:51:59 +01:00
Kai Bao 178d554d2c we do not copy SegmentState if the segment number changes 2022-11-04 16:38:57 +01:00
Kai Bao cbb2e04b05 removing unused number_segments from MultisegmentWell 2022-11-01 14:42:23 +01:00
Kai Bao 9056bf3d98 removing the usage of GTotal 2022-10-13 22:13:45 +02:00
Kai Bao 9461bf1a99 only enforcing production economic limit to producers. 2022-10-06 15:27:33 +02:00
Kai Bao 15fc19de32 fixing (partly) confusing naming in function initializeWellPerfData() 2022-09-30 23:31:21 +02:00
Kai Bao f8d8bbb259 Merge pull request #3954 from atgeirr/iterate-network
Add iterations to the network model
2022-09-30 16:33:06 +02:00
Kai Bao 8a247cb5ff Merge pull request #4102 from GitPaean/fixing_drift_determination
we only use drift compensation when wells are active
2022-09-28 15:40:15 +02:00
Kai Bao 64d5c1b7d2 disable drift compenstation for some parallel tests
mpi.compareParallelSim_flow+SPE1CASE2
mpi.compareParallelSim_flow+SPE9_CP_SHORT
mpi.compareParallelSim_flow_distribute_z+SPE9_CP_SHORT
mpi.compareParallelSim_flow+3_A_MPI_MULTFLT_SCHED_MODEL2
mpi.compareParallelSim_flow+TEST_RXFT
2022-09-28 11:50:13 +02:00
Kai Bao de4473bbd8 makre sure network_changed synchronized across the processes 2022-09-28 10:44:42 +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
Kai Bao 6e0baad0c7 Merge pull request #4116 from GitPaean/not-setting-inj-rate-to-zero
limiting the smallest injection rate to 1.e-7 for the injection phase.
2022-09-23 15:17:31 +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
Kai Bao d3d8e11e00 limiting the smallest injection rate to 1.e-7
for the injection phase.
2022-09-20 11:40:34 +02:00
Kai Bao 2f19d4586e avoiding wrong sign for QTotal primary variable for top segment
for multisegment wells.
2022-09-14 14:21:03 +02:00
Kai Bao 734b9a792f removing function localWellsActive() 2022-09-14 14:17:02 +02:00
Kai Bao 83529b22c7 removing one usage of wellsActive() in numComponents 2022-09-13 14:31:56 +02:00
Kai Bao 4e1cc5bd5b determining wells_active_ based on well_containers_ size
instead of the information in wells_ecl_, which might include shut wells
2022-09-13 11:36:23 +02:00
Kai Bao b363138240 removing the function setWellsActive from BlackoilWellModelGeneric 2022-09-13 09:41:48 +02:00
Kai Bao 4e4606c705 removing unused setupCartesianToCompressed_ function
for BlackoilWellModel
2022-09-08 13:33:39 +02:00
Kai Bao fc259fdb91 Merge pull request #4086 from GitPaean/better_naming_max_strict_iter
changing max_strict_iter_ to min_strict_cnv_iter_
2022-09-08 10:01:59 +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
Kai Bao c25e1392ba ignoring analytical aquifers without valid connections 2022-08-23 15:50:50 +02:00
Kai Bao d69c80b84a simplifying the constructor for AquiferNumerical
removing the unused global_cell and avoid the unnecessary construction of cartesianToCompressed
2022-08-18 15:55:04 +02:00
Kai Bao de09fbaea7 Merge pull request #3994 from akva2/aquifer_use_through_if
BlackOilAquiferModel: use implementations through interface
2022-08-11 11:29:10 +02:00
Kai Bao 1b3cee8088 using C++17 style for to reduce nesting level of for loop 2022-06-29 14:20:35 +02:00
Kai Bao ed78d8c99a adding a regression test for WSEGVALV 2022-06-29 14:04:23 +02:00
Kai Bao 64143cd417 when a valve is shut, the rate and pressure drop will be zero 2022-06-29 11:54:36 +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
Kai Bao 15bf35ffe0 removing unused well_state0 in iterateWellEqWithControl
for MSW.
2022-05-18 10:18:35 +02:00
Kai Bao ed1c65bb86 increasing abs_tol for parallel regression for 3D_2AQU case
to make jenkins pass.
2022-05-10 11:05:03 +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
Kai Bao 57d8f1aa24 update primary variables in prepareTimeStep
it should not change running results.
2022-05-02 13:47:16 +02:00
Kai Bao 4a8f3932d6 Merge pull request #3902 from GitPaean/renaming
renaming function updateWellState to updatePrimaryVariablesNewton .
2022-04-29 13:58:15 +02:00
Kai Bao 7145ec32ee renaming function updateWellState
to updatePrimaryVariablesNewton

this should be a fallout during the well code refactoring
2022-04-29 12:55:54 +02:00
Kai Bao aa633ff98f reconstructing the if structure for has_energy
in StandardWell<TypeTag>::
    calculateSinglePerf()
2022-03-31 22:38:55 +02:00
Kai Bao 8e61733ec0 Merge pull request #3839 from GitPaean/fixing_scaling_rates
fixing the scaling of segment rates
2022-03-15 22:03:38 +01:00
Kai Bao e05a0b276e fixing the scaling of segment rates
when initial segment rate is zero.
2022-03-14 14:01:24 +01:00
Kai Bao 6394c89f77 Merge pull request #3835 from GitPaean/scaling_segment_pressure
using addition to update segment pressure when bhp is changed
2022-03-11 10:24:54 +01:00
Kai Bao 2c18d09ce1 fixing test_wellstate 2022-03-10 22:19:12 +01:00
Kai Bao ccfd4152d3 using addition to update segment pressure
when bhp is changed. It is much safer and more reasonable.

using multiplication is more likely to result in dramatic values.
2022-03-09 14:23:59 +01:00
Kai Bao 086b8aab7d only multisegment wells will alway inner iteration 2022-01-21 10:43:36 +01:00
Kai Bao 0000df18a4 always using inner iterations for testing purpose. 2022-01-21 10:43:36 +01:00
Kai Bao 913ad21733 return zero thp value for extremely small injection rate
it is a finding from one of the test case.
2022-01-18 10:12:20 +01:00
Kai Bao 2b9b6e5155 addressing reviewing comments for PR#3760 2022-01-10 11:33:11 +01:00
Kai Bao dec3100247 fixing a bug in funcion bisectBracket 2022-01-09 00:21:31 +01:00
Kai Bao 3b7e62979c refactoring to shorten the function computeBhpAtThpLimitProd
better readibility hopefully.
2022-01-07 15:49:48 +01:00
Kai Bao 5824acbf92 making bruteforce bracket as a function
for better readbility.
2022-01-07 15:13:33 +01:00
Kai Bao 3273f310e3 prototyping the brute force for bracketing bhp
to fix the situation the existing approach fails.
2022-01-07 14:32:16 +01:00
Kai Bao 148fb4a282 Merge pull request #3712 from totto82/fixAssertInStw
Fix assert in relaxation factor in std well
2021-12-06 11:09:08 +01:00
Kai Bao c2e18fd077 Merge pull request #3573 from totto82/crossFlowEcon
remove assert and handle opposite rates in wecon related fractions.
2021-11-15 15:31:05 +01:00
Kai Bao e7010ba6f4 removing --relaxed-max-pv-fraction for num aquifer tests 2021-11-12 14:32:10 +01:00
Kai Bao c85bc24f54 consindering the situation of single water phase for RateConverter 2021-08-05 00:13:13 +02:00
Kai Bao 5e74466aed Merge pull request #3445 from plgbrts/rateconvfixed
Rateconvfixed
2021-08-03 00:07:19 +02:00
Kai Bao 12fa7a4ac8 putting all the guide rate update function in one single function
to make sure we only do once checking of the expiration of the guide
rates.
2021-06-29 11:41:26 +02:00
Kai Bao b415cd4fb8 not comparing guideRate_ with nullptr
it is not a pointer anymore since OPM/opm-simulators#3380
2021-06-15 00:00:43 +02:00
Kai Bao 2d24abb630 removing numerical aquifer keywords from unsupported list
AQUNUM, AQUCON
2021-05-10 22:48:56 +02:00
Kai Bao 2ee51c2e0d fixing the serial running due to including of eclmpiserializer.hh 2021-04-21 15:59:26 +02:00
Kai Bao 06fa81f4e3 following interface change for processEcipseFormat 2021-04-20 11:27:15 +02:00
Kai Bao 9f360c5c6d fixing the mistakes due to rebasing 2021-04-14 13:16:30 +02:00
Kai Bao 06ec3d2420 fixing test_relpermdiagnostics test 2021-04-14 09:48:55 +02:00
Kai Bao 364187aa1a updating NNC after grid processing for parallel case
numerical aquifers might modify NNCs during grid processing, while it
only updates in the root process. Other processes need to be updated
too.
2021-04-14 09:47:57 +02:00
Kai Bao 6072cb20a2 only when both oil and gas exist, we handle drsdt and drvdt 2021-03-25 08:36:25 +01:00
Kai Bao 6061b5f5b0 updating the interface of function processEclipseFormat 2021-03-23 20:27:10 +01:00
Kai Bao 24d5d73009 cleaning up comments
There is no functional change.
2021-03-15 21:15:56 +01:00
Kai Bao 1bd7d8775a Merge remote-tracking branch 'upstream/master' into new_numerical_aquifer 2021-03-15 12:16:09 +01:00
Kai Bao 116b77bd8a addressing the reviewing comments for PR OPM/opm-simulators#3039
putting the numerical aquifer related modification in a function and the
function is called after the equilibration calculation, so it will work
for different equilibration methods.
2021-03-15 10:21:40 +01:00
Kai Bao afac0fb485 changing the parameters for the numerical aquifer regression tests
cpr linear solver is used for better convergence.
2021-03-12 23:39:01 +01:00
Kai Bao 9ecdca75d9 Merge remote-tracking branch 'upstream/master' into new_numerical_aquifer 2021-03-11 14:08:42 +01:00
Kai Bao 82521be152 adjusting the parameters for the numerical aquifer regression test 2021-03-11 11:43:34 +01:00
Kai Bao 347ca3978a adding parameter to control the min time step
can be reduced to based on the newton iteration counts.

By default it is zero, so it should not change any running results.
2021-03-10 11:49:59 +01:00
Kai Bao 0ad848658e Merge pull request #3099 from atgeirr/revive-using_porevolume_average
Fix hydrocarbon volume issue with no oil or gas
2021-03-09 12:15:06 +01:00
Kai Bao f9ead85435 Use pore volume to do the average when hydrocarbon is missing. 2021-03-05 14:49:15 +01:00
Kai Bao c0beb6e2ae using --tolerance-cnv=0.0001 for numerical aquifer regression test
and also coarse_rel_tol_parallel for parallel regression test.
2021-03-05 12:01:53 +01:00
Kai Bao 69619339a1 Merge branch 'master' into new_numerical_aquifer 2021-03-04 22:54:36 +01:00
Kai Bao 923f0ac0e0 adding --relaxed-max-pv-fraction=0 to numerical aquifer tests 2021-03-04 22:37:32 +01:00
Kai Bao f00b4d9aa8 Merge pull request #3059 from alfbr/fix-error
Do not report confusing error
2021-02-23 14:21:59 +01:00
Kai Bao d76251818f adding tests for numerical aquifers 2021-02-22 23:18:43 +01:00
Kai Bao 4c92f22677 for numerical aquifer, flux_rate_ should not be summed across processes
it will be taken care of in ecloutputblackoilmodule.hh

              aq.fluxRate += data.fluxRate;
              aq.volume += data.volume;
2021-02-22 23:15:26 +01:00
Kai Bao 867b769fcb only handling the interior elements for numerical aquifer 2021-02-22 23:15:26 +01:00