Andreas Lauser
dfbc24b35f
flow: avoid wrangling around with dummy state objects
...
these objects are only used by flow_legacy, so not having to deal with
them anymore lets non-legacy flow avoid to jump through a lot of hoops
for the sake of having a common API.
this required a fork of the NonlinearSolver and AdaptiveTimeStepping
classes. this is not a problem because the original classes would get
pruned to look like the new ones once flow_legacy gets moved out of
the opm-simulators module.
2018-06-06 10:59:41 +02:00
Kai Bao
cb9fea6ba0
changing GTotal to WQTotal for StandardWell
2018-05-30 15:44:05 +02:00
Kai Bao
53ab8bc132
lowering the singular limit for the invertMatrix function.
...
to avoid failure due to singularity detection.
2018-05-29 09:36:55 +02:00
Kai Bao
97c51a7d02
addressing some comments
...
and handle the situation that a non-zero target specified for a
non-producing phases. We set the rates to zero for this case.
2018-05-28 16:05:02 +02:00
Kai Bao
ce849fe18e
adding a fix for the zero rate control for StandardWell
...
to avoid under-determined problem.
2018-05-28 16:05:02 +02:00
Kai Bao
efbac8a628
adding function updateThp() to StandardWell
...
hopefully, to improve the readability.
2018-05-28 16:05:02 +02:00
Kai Bao
f3f096dbbb
recovering some unecessary changes.
...
PR #1477 introduced different ways to improve the WellState initialization.
Basically, the WellState initialization will be something challenging to
handle along with the improvement of the well model.
2018-05-28 16:05:02 +02:00
Kai Bao
18917b81f4
adding THP well control equation
2018-05-28 16:05:02 +02:00
Kai Bao
b2bace449e
adding function processFractions()
...
to reduce the length of the function updatePrimaryVariablesNewton()
2018-05-28 16:05:02 +02:00
Kai Bao
e2e24ec355
adding the checking of tolerance of well control equation
2018-05-28 16:05:02 +02:00
Kai Bao
179a03144f
more bug fixing
...
mainly to recover the runnign related to group control example
2018-05-28 16:05:02 +02:00
Kai Bao
1d218d2fe4
small bug fixes.
2018-05-28 16:05:02 +02:00
Kai Bao
3b70f5004f
adding assembleControlEq to StandardWell
...
solvent model needs to be handled for the injector control.
2018-05-28 16:05:02 +02:00
Kai Bao
62947c85b9
updating updatePrimaryVariablesNewton with new primary variables.
2018-05-28 16:05:02 +02:00
Kai Bao
6066884a3d
refactoring updateWellState in StandardWell to be two functions
...
for other use.
2018-05-28 16:05:02 +02:00
Kai Bao
eb851b6580
adding BHP to the primary variables for StandardWell
2018-05-28 16:05:02 +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
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
Arne Morten Kvarving
fddad72a3e
fixed: quell signed/unsigned comparison warning
2018-04-13 11:25:10 +02:00
Kai Bao
ed49fd1e88
adapting to the change related to VFP from the parser.
2018-04-11 09:22:52 +02:00
Markus Blatt
01b25f27ed
Allow to add well contributions to both matrix and preconditioner matrix.
...
matrix_add_well_contributions=true will add to both the preconditioner matrix
and the matrix of the linear operator. preconditioner_add_well_contributions=true
will only add the contributions to the preconditioner matrix.
2018-03-05 16:48:10 +01:00
Markus Blatt
f07874cf42
Cleanup code.
...
Removed unused boolean switch in WellModelMatrixAdapter and removed commented code.
2018-03-02 20:57:10 +01:00
Atgeirr Flø Rasmussen
b276aaa16b
Changes made to test variations of matrix vs matrixless(ish) operator.
2018-03-02 14:22:59 +01:00
Kai Bao
ec8dc4f534
trying to fix a problematic situation when updateWellState
...
for example, distr = 0 1 0, for rate control, F = 1 0 0, we will get a
zero F_target, then it is wrong to do the division with F_target.
It is okay when target = 0. When target != 0, the result is already very
wrong. Non-linear iteration can send us anywhere, not sure the best
solution for this kind of strange situation.
2018-02-28 09:47:22 +01:00
Markus Blatt
44d31f9dcc
Removed unused variable warning in addWellContributions.
2018-02-26 16:23:13 +01:00
Markus Blatt
3be954fe98
Move multMatrixTransposed for better testability.
...
Otherwise we need to deal with the property system of ewoms.
2018-02-26 15:49:59 +01:00
Markus Blatt
455cf79d8d
Fixed comments in StandardWell
2018-02-26 15:16:07 +01:00
Markus Blatt
8e78f02230
Use Dune::FMatrixHelp::invertMatrix for inversion
...
Thus we always take advantage of the specializations in ISTLSolver.hpp
and do need to take care about the type of the matrix block.
2018-02-26 15:12:14 +01:00
Markus Blatt
b5d55b9fb2
Fix indentation and whitespace.
2018-02-26 14:35:04 +01:00
Markus Blatt
01b90bce05
Improve well matrix products
2018-02-26 14:35:04 +01:00
Markus Blatt
799cbb4b62
Add influences by well perforations to matrix.
...
This is only done upon request and uses the auxiliary module approach
provided by ewoms.
In the case of adding the influences we do not execute applyWellModelScaleAdd
or applyWellModel in the operator
2018-02-26 14:35:04 +01:00
Kai Bao
a8f560b046
addressing the comments.
2018-02-21 14:45:22 +01:00
Kai Bao
89bb589755
update the reservoir volume in WellState
2018-02-21 12:20:43 +01:00
Kai Bao
abfe9d445b
recoring solution gas rate and solutiion oil rate in StandardWell
2018-02-21 12:20:43 +01:00
Andreas Lauser
7f3a9f1f43
catch NumericalIssue instead of NumericalProblem
...
the underlying problem is that the OPM build system does not define a
HAVE_OPM_COMMON macro in config.h.
2018-02-08 12:02:25 +01:00
Tor Harald Sandve
969d8f238d
Use phase and comp info from FluidSystem
...
TODO: The output, fip and restart still uses a mixture of old and
new phase indices. This needs to be adressed in future PRs
2018-01-03 08:44:37 +01:00
Kai Bao
9317c1f023
removing the current argument in updateWellStateWithTarget
...
and some other cleaning up.
2017-11-30 17:14:29 +01:00
Kai Bao
ea3cbd1fe8
removing numComponents() from WellInterface
...
which is dumplicated from BlackoilWellModel.
2017-11-30 16:31:48 +01:00
Kai Bao
7b61f3e692
moving polymer related to updateWaterMobilityWithPolymer
...
in StandardWell.
And not calculating the shear effect for the injecting wells when the
injection wells do not inject polymer.
2017-11-27 09:24:02 +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
Kai Bao
8274fc9275
replacing BlackoilPhases:: with Oil Water Gas in well model
...
and also WellStateFullyImplicitBlackoil.
There are more places to do so, while it might be easier to create a
header file for this.
2017-11-16 12:08:58 +01:00
Kai Bao
ba8eb708d1
fixing reviewing comments from PR 1279.
2017-10-16 17:01:15 +02:00
Kai Bao
1a7b5571b6
trying to add an inner well iteration to speed up convergence.
2017-10-12 14:10:24 +02:00
Kai Bao
dd9ad42a28
correcting the size of seg_comp_initial_ based on num_comp
...
for standards wells, all the three equations are mass balance
equatiions, it is safe to use numWellEq.
for MS wells, there is one extra pressure equation, it should be the
number of mass balance equations. If we do not put the polymer equation
inside the well equations, we will face dilemma soon.
2017-10-12 13:37:05 +02:00
Kai Bao
f7e1623b7a
only clearing matrix B and C when only_wells false.
...
to save a little calculation.
2017-10-12 13:37:05 +02:00
Kai Bao
7b873d97c9
small improvements in StandardWell
...
there is not functional change.
2017-10-12 13:37:05 +02:00
Kai Bao
3e2a34239c
removing two functions from WellInterface
...
computeWellConnectionPressures() and computeAccumWell().
They belongs to the implementation details of well models now.
2017-10-12 13:37:05 +02:00