Commit Graph

8468 Commits

Author SHA1 Message Date
Kai Bao
90f805bf3e we need to open the cross-flow to solve the sigularity
if a well is banned from cross-flow. When it is under RATE control, its
BHP might be initialized in way causing all the drawdown in the wrong
direction. It will cause singular well equations.

here, we open the croff-flow to fix the singularity and rely on Newton
iteraton to get desired result.

possible alternative approach is to adust the BHP to avoid the situation
that all the drawdown are in the wrong direction.
2018-11-20 13:56:14 +01:00
Kai Bao
bba373c0b5 THP control tolerance changed to 1.e4
to fix some convergence problem.
2018-11-20 13:55:34 +01:00
Kai Bao
c994a99583 WCON keyword can open a well closed due to physical reason
more tests will be required to figure out more accurate specific way to
open a well closed due to physcal reason with WCON input.
2018-11-20 13:55:34 +01:00
Kai Bao
30742112c6 switching to BHP limit when THP limit is not operable
a well is specified with THP target, while it can not work under its THP
target. For this case, we will switch to its BHP limit.
2018-11-20 13:55:34 +01:00
Kai Bao
8e17d4aeba shut/close well based on physical limits 2018-11-20 13:55:34 +01:00
Kai Bao
ea42d1de9d adding function isOperable() to WellInterface
to indicate if the well is operable.
2018-11-20 13:55:34 +01:00
Kai Bao
ae3b514e0b not switching to THP/BHP limit when not operable under them 2018-11-20 13:54:45 +01:00
Kai Bao
5204bbe4ca adding function checkWellOperatability() to StandardWell
it includes BHPLimit check, THPlimit check, and also to see whether if
the well can produce/inject in the correct direction.
2018-11-20 13:54:45 +01:00
Kai Bao
dbe047a8a5 adding function operabilityCheckingUnderTHP to VFPProdProperties
To test the operability under THP limit.
2018-11-20 13:54:21 +01:00
Kai Bao
b27dc3ec2e stopping use function crossflowAllowed()
it turns on the crossflow when all the drawdown in the wrong direction,
then the well get rates in the wrong direction.

flow is not ready to handle this type of situation, then the only result
will be chopped time step.
2018-11-20 13:54:21 +01:00
Kai Bao
2e43b440e0 adding OperabilityStatus to WellInterface
to check the operability status of a well.
2018-11-20 13:54:21 +01:00
Trine S Mykkeltvedt
9fa2c09783 add method for getting the surfacevolume well connection rate
changed wellpointer from unique to shared to make it accecible from outside the wellmodel
add method for surfacevolume well connection rate
2018-11-20 08:59:50 +01:00
Atgeirr Flø Rasmussen
4337483ac6
Merge pull request #1639 from atgeirr/store-convrep
Store ConvergenceReport objects
2018-11-19 15:13:14 +01:00
Atgeirr Flø Rasmussen
83ce1eb919 Ensure all residuals are checked for convergence.
Looping over all components instead of phases, to handle polymer etc.
correctly. Also slight refactoring of how component names for output
are handled.
2018-11-19 14:46:31 +01:00
Atgeirr Flø Rasmussen
b42165b560 Store convergence reports from all steps and iterations. 2018-11-19 11:48:07 +01:00
Atgeirr Flø Rasmussen
fe79a9fc07 Refactor getConvergence() to use ConvergenceReport.
Note: the communication and reduction for computing reservoir
convergence is not done by gathering ConvergenceReports, but
as before, using the convergenceReduction() method.
2018-11-19 11:48:07 +01:00
Atgeirr Flø Rasmussen
c006ea23f2
Merge pull request #1651 from totto82/speed_up_add_cell_rates
Speed up add cell rates
2018-11-19 10:49:19 +01:00
Arne Morten Kvarving
81b5c634a4
Merge pull request #1652 from akva2/fix_install_mpiutilities
fixed: install MPIUtilities.hpp
2018-11-19 10:26:59 +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
Arne Morten Kvarving
9edd49ec3a fixed: install MPIUtilities.hpp 2018-11-19 09:06:15 +01:00
Atgeirr Flø Rasmussen
339c7a5043
Merge pull request #1650 from akva2/fix_install_matrixblock
fixed: install MatrixBlock.hpp
2018-11-19 09:01:17 +01:00
Arne Morten Kvarving
2fa961bb3d fixed: install MatrixBlock.hpp 2018-11-19 08:44:23 +01:00
Atgeirr Flø Rasmussen
b5cb7bb829
Merge pull request #1644 from GitPaean/fixing_control_initialization
using control in DECK to initialize the control in WellState
2018-11-16 15:38:22 +01:00
Atgeirr Flø Rasmussen
8b09803bc2
Merge pull request #1646 from akva2/split_legacy
Remove legacy simulators
2018-11-16 15:17:09 +01:00
Arne Morten Kvarving
f771049f93 build system cleanup 2018-11-16 15:01:59 +01:00
Arne Morten Kvarving
f027262ec4 remove files 2018-11-16 14:53:37 +01:00
Andreas Lauser
bf602c621b flow: use eclipseState.simulatorConfig().isThermal() to determine whether energy ought to be conserved
this is the new and hip way to query this information from the ECL
parser.
2018-11-16 14:49:17 +01:00
Kai Bao
7ded0907fe using control in DECK to initialize the control in WellState
otherwise, it might not be initialized if the well does not exisit in
previous well state, which will result in undefined behavoir.

it causes failure in running some realizations.
2018-11-16 13:47:43 +01:00
Arne Morten Kvarving
78158bf44a
Merge pull request #1643 from atgeirr/legacy-split-work
Avoid using legacy stuff for ebos linear solvers.
2018-11-16 13:29:24 +01:00
Atgeirr Flø Rasmussen
92a9b5fa9b Avoid using legacy stuff for ebos linear solvers. 2018-11-16 12:06:12 +01:00
Kai Bao
0e1ef4993b
Merge pull request #1641 from akva2/fix_sign_unsigned
fixed: signed/unsigned warnings
2018-11-16 09:35:31 +01:00
Arne Morten Kvarving
fb7bdffbc7 fixed: signed/unsigned warnings 2018-11-16 08:48:53 +01:00
Atgeirr Flø Rasmussen
7896c2f334
Merge pull request #1636 from GitPaean/update_IPR
update well state with THP target based on inflow performance relationship
2018-11-15 18:01:34 +01:00
Kai Bao
b2be13ced4 changing std::cout to OpmLog with VFPProdProperties
for better output of information.
2018-11-15 11:46:22 +01:00
Kai Bao
76a3f2a1f5 adding function updateWellStateWithTHPTargetIPR()
this function can update the well state related based on the inflow
perfomance relationship and THP target.
2018-11-15 11:46:22 +01:00
Kai Bao
eeae6aa4fc adding two THP control related fucntions to WellInterface
getTHPConstraint() and getTHPControlIndex();
2018-11-15 11:46:22 +01:00
Kai Bao
01efbc639c adding function underPredictionMode() to WellInterface
to indicate whether a well is under prediction mode.
2018-11-15 11:46:22 +01:00
Kai Bao
9bfa39224f re-organize the interface of function findIntersectionForBhp()
hopefully, make it easier to use.

and also, there is no mistake introduced.
2018-11-15 11:46:22 +01:00
Kai Bao
8445c802c0 adding function calculateBhpWithTHPTarget to VFPProdProperties
it calculate bhp value based on THP target/limit, VFP curves and
inflow-performance relationship
2018-11-15 11:46:22 +01:00
Kai Bao
9b5e25ae0f function to calculate bhp from thp through intersection
of VFP curves and IPR relationship.

Some small adjustment of the interface will be done later.
2018-11-15 11:46:22 +01:00
Kai Bao
32b8e79eae adding function updateIPR() to StandardWell 2018-11-15 11:46:22 +01:00
Atgeirr Flø Rasmussen
0761850e7a
Merge pull request #1637 from OPM/fix-gather-convergemcereport-for-openmpi
Make MPI calls in gatherConvergenceReport with void*.
2018-11-15 11:04:35 +01:00
Markus Blatt
8cafb0e92a Make MPI calls in gatherConvergenceReport with void* instead of const void*
Fixes compilation of PR #1612 with open-mpi 1.6.5.
Compiler complained about not being able to transform const void* to void*
as needed by MPI.
2018-11-15 09:30:51 +00:00
Atgeirr Flø Rasmussen
8b376f9b14
Merge pull request #1634 from atgeirr/fix-missing-includes-matrixblock
Add missing includes
2018-11-14 21:11:45 +01:00
Atgeirr Flø Rasmussen
5e51d6982b Add missing includes. 2018-11-14 21:09:40 +01:00
Atgeirr Flø Rasmussen
258c019989
Merge pull request #1617 from andlaus/sparse_matrix_abstraction
Sparse matrix abstraction
2018-11-14 16:14:00 +01:00
Andreas Lauser
e110fac52a
Merge pull request #1633 from akva2/rogue_and_unwanted
Remove some rogue includes and unwanted opm/autodiff/GridHelpers.hpp usage
2018-11-14 16:00:30 +01:00
Atgeirr Flø Rasmussen
db8c00db00
Merge pull request #1632 from akva2/use_istl_ebos
Use ebos ISTL class
2018-11-14 15:44:26 +01:00