Robert Kloefkorn
936d035dc2
[bugfix][StandardWellsDense] remove auto from method parameter list.
2017-06-27 16:51:11 +02:00
Tor Harald Sandve
1c05402209
Fix 2p case after rebase
2017-06-26 08:40:30 +02:00
Tor Harald Sandve
1bc2550541
Fix polymer in well model for producers.
2017-06-26 08:03:54 +02:00
Tor Harald Sandve
e9a1aa2a83
Clean up after rebase
2017-06-26 08:03:54 +02:00
Tor Harald Sandve
8088347c96
Move adjustment of water mobility caused by polymer to getMobility()
2017-06-26 08:03:54 +02:00
Tor Harald Sandve
17ada607eb
Assume polymer and water is fully mixed in the well
2017-06-26 08:03:54 +02:00
Tor Harald Sandve
0068c175a7
Add polymer option to flow_ebos
...
No extra equation is added for polymer in the well equation.
Seperate executables are added for polymer: flow_ebos_polymer
and solvent: flow_ebos_solvent
Tested and verified on the test cases in polymer_test_suite
This PR should not effect the performance and results of the blackoil
simulator
2017-06-26 08:03:54 +02:00
Kai Bao
e0e1fc65e2
removing ebosCompToFlowPhaseIdx from StandardWellsDense
2017-06-21 11:44:43 +02:00
Kai Bao
aaa66e0982
not switching the order of well equations.
2017-06-21 11:44:43 +02:00
Kai Bao
70e193696d
removing the order switiching of the well primary variables.
...
Order swtiching of the well primary variables make the code more
complicated, and harder to understand and extend.
2017-06-21 11:44:43 +02:00
Atgeirr Flø Rasmussen
f37a72da71
Merge pull request #1209 from dr-robertk/PR/remove-uninitialized-vars
...
[cleanup] initialized Eval variables with 0.
2017-06-13 08:56:23 +02:00
Atgeirr Flø Rasmussen
462d90aeb1
Merge pull request #1207 from GitPaean/improve_WellModelMatrixAdapter
...
making wellMod_ in WellModelMatrixAdapter is actually a well model
2017-06-09 10:46:13 +02:00
Robert Kloefkorn
ee7520d896
[cleanup] initialized Eval variables with 0.
2017-06-08 15:35:40 +02:00
Kai Bao
908b2bdf81
making wellMod_ in WellModelMatrixAdapter is actually a well model
...
instead of the BlackoilModelEbos, which reduces some confusion and also
removes a few unnecessary wrapping functions.
2017-06-07 14:26:00 +02:00
Tor Harald Sandve
2a66aa23a9
Merge pull request #1198 from dr-robertk/PR/fix-densewell-for-2p
...
[bugfix] Fix invalid read in WellDenseStandard when used with 2P Model.
2017-06-07 13:57:44 +02:00
Robert Kloefkorn
3db16ede73
[bugfix] Fix invalid read in WellDenseStandard when used with 2P Model.
2017-05-31 16:17:59 +02:00
Tor Harald Sandve
f671af6cd6
Clean-up of the solvent implementation
2017-05-30 14:33:17 +02:00
Tor Harald Sandve
8b75e2eedc
Minor fixes solvent model
...
1) Fix GRAT controlled wells
2) Fix seg_fault in computeWellPotentials for solvent simulations
3) Fix mem_issus for RESV combinded with solvent
2017-05-30 14:22:19 +02:00
Tor Harald Sandve
441a8895ac
Improvments for solvent model
...
- add dss to appleyard chopping
- support for bhp injectors with solvent
- copy perfSolventRates between the time steps.
- fix bug in well access indicies when numComponents ~= numPhases
2017-05-30 14:22:19 +02:00
Tor Harald Sandve
b987e4b324
Implement solvent model in flow_ebos
...
1) Extends the well model to account for solvent surface volumes
2) Add solvent to updateState
3) Add solvent to well and field output
The solvent parts is encapsled in if (has_solvent_) and should not effect
the standard runs.
2017-05-30 14:22:19 +02:00
Tor Harald Sandve
6084721812
Prepare for extended models.
...
Let the code loop over number of components instead of phase
Pass TypeTag as template parameter instead of all the properties.
2017-05-08 09:52:30 +02:00
Markus Blatt
9f5a904382
Removes deadlocks in the case where only few processes have wells.
...
The problem was that updateWellControls was not called on all
processes. But this is mandatory as the well switching output
requires global communication.
2017-04-12 17:37:34 +02:00
Atgeirr Flø Rasmussen
a17442f578
Remove unused variables.
2017-04-12 11:12:07 +02:00
Kai Bao
0700c8cf67
adding more checking for the potential values
...
during the well well potential calculation.
2017-04-11 16:51:16 +02:00
Kai Bao
ce0e580cee
fixing comments.
...
no functional change.
2017-04-11 16:51:16 +02:00
Kai Bao
dd95114e6d
fixing well potentials calculation after introducing the saturation table
...
The calculation of well potentials of newly added well failed after using the saturation
table. Here, we fix it using much smaller parameters to stablize the
calculation, while it slows down the iteration process.
TODO: improves the convergence rate by either introducing better
paramters or better iteration strategy.
2017-04-11 16:51:16 +02:00
Kai Bao
972b911495
fixing two warnings.
...
no function change.
2017-04-11 16:51:16 +02:00
Kai Bao
72e2b7c6c3
fixing errors resulting from the rebasing procedure.
2017-04-11 16:51:16 +02:00
Kai Bao
7a4d0bb8aa
slightly re-organizing prepareTimeStep()
...
should not impact the simulation results.
2017-04-11 16:51:16 +02:00
Kai Bao
4ed95fcbf0
calculate well potentials based on requireWellPotentials()
...
from well_colllection. Not based on command line paramters anymore.
2017-04-11 16:51:16 +02:00
Kai Bao
8fa3c4b324
removing one unnecessary if condition
2017-04-11 16:51:16 +02:00
Kai Bao
1aff98c4f4
adding the extra template type from recent merged PR
2017-04-11 16:51:16 +02:00
Kai Bao
032f9803be
cleaning up unuseful comments and code fragments.
2017-04-11 16:51:16 +02:00
Kai Bao
ef7769b77e
tracking if wells are newly added in WellStateFullyImplicitBlackoil
...
For a newly added well, the initialized rate cans cause big problem when
applied to VFP interploation when THP control is involved.
2017-04-11 16:51:16 +02:00
Kai Bao
a8ae9276c5
adding computeWellPotentialWithTHP() to compute well potential
...
in an iterative way. When VFP interpolation is performed, the bhp and
rates are coupled together. Some iteration will be required to get the
consistent bhp and well potential.
2017-04-11 16:51:16 +02:00
Kai Bao
182c5897c8
adding leastStrictBhpFromBhpLimits()
...
to pick the least strict bhp limits in the well controls. It is used to
calculate the well potential when there is no thp limits there.
If there is thp limits there, it will be used for further chosing of the
bhp value for well potential calculation.
2017-04-11 16:51:16 +02:00
Kai Bao
402a5a125a
adding computeWellRatesWithBhp() to calculate well rates
...
for one well based on the give Bhp.
2017-04-11 16:51:16 +02:00
Kai Bao
7b2e6760e1
adding wellHasTHPConstraints() to decide if there is THP control
...
for a specific well.
2017-04-11 16:51:16 +02:00
Kai Bao
86dc231cc3
adding more things related to group control when restarting
...
with a new time step due to convergence failure.
2017-04-11 16:51:16 +02:00
Kai Bao
e39ffefb2e
performing prepareTimeStep in assemble for StandardWellsDense
...
instead of model->preppareStep()
to avoid segmenttation error from eclSimulator and also not intervening
with NonlinearSolver
2017-04-11 16:51:16 +02:00
Kai Bao
4a6dbbe0a7
updating the control index for both well state and well_controls struct
...
when applying VREP group controls.
2017-04-11 16:51:16 +02:00
Kai Bao
cb85319a72
set thp() value to zero when no THP constraints exist
...
in updateWellState()
2017-04-11 16:51:16 +02:00
Kai Bao
7a7dcdf3ba
correcting a comment in computeWellFlux() in StandardWellsDense
2017-04-11 16:51:16 +02:00
Kai Bao
d02f028260
not resetWellControlFromState in assemble() in StandardWellsDense
...
other places should gurantee the control indices from the well_state and
well_controls struct are the same.
And also, since the first element in wellSolutions() depends on the type
of the control, this function is complete yet.
2017-04-11 16:51:16 +02:00
Kai Bao
34385ee58f
synchronizing the control index at the beginning of assemble()
...
in StandardWellsDense class.
It takes effects after restarting from a previous unconverged solution.
2017-04-11 16:51:16 +02:00
Kai Bao
2bc1c8702e
copying the thp value from prevState.
2017-04-11 16:51:16 +02:00
Kai Bao
77ec45cdd2
recovering the well_controls if solveWellEq not convergent
...
since we are using the control index from both WellState and
well_controls.
2017-04-11 16:51:16 +02:00
Kai Bao
ea3adb3c37
using reference of WellState in resetWellControlFromState()
2017-04-11 16:51:16 +02:00
Kai Bao
0acb646a4d
when there is group control, we should update WellState
...
since the group targets are updated.
TODO: maybe it is not necessary, need to investigate the design of getBhp() and
getQs().
2017-04-11 16:51:16 +02:00
Kai Bao
087b9471c7
completing prepareTimeStep() for StandardWellsDense
...
updating all the group control related.
2017-04-11 16:51:16 +02:00