Commit Graph

4913 Commits

Author SHA1 Message Date
Kai Bao
1aff98c4f4 adding the extra template type from recent merged PR 2017-04-11 16:51:16 +02:00
Kai Bao
22b2217dd3 removing setWellSolutionsFromPrevState from WellStateFullyImplicitBlackoilDense
Not used anymore.
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
279fbad17c removing the comments from the NonlinearSolver_impl
which is from the development process.
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
Kai Bao
b83f37dcc0 considering the distr has zero values for non-injecting phases
to avoid NaN resulting from devided by zero.
2017-04-11 16:51:16 +02:00
Kai Bao
b21f577989 when there is VREP control, updateRateConverter in prepareStep
in BlackoilModelEbos.
2017-04-11 16:51:16 +02:00
Kai Bao
68eaf6ac1f Not copying the wellSolutions from previous WellState
in WellStateFullyImplicitBlackoilDense.
2017-04-11 16:51:16 +02:00
Kai Bao
ed4e87ac24 not copying the contrl_index from the previous WellState
when there is new control keywords enter, the combination of control /
constraints change. Under this kind of situation, copying the control
index does not mean you copy the same types of control.

Using the control index from the previous WellState for many situation
is a good practice, while it also risks copying a random and rather bad
choice. It is a major problem when we have VFP, VFP can have very
damaging values for certain situation to show it is not desirable to
be in this kind of situation.
2017-04-11 16:51:16 +02:00
Kai Bao
653baae039 making the computeWellPotentials calculate potential for each well
Not store the well potentials to WellState anymore.
2017-04-11 16:51:16 +02:00
Kai Bao
4b5e1dfadc more treatment for zero rate wells in updateWellStateWithTarget 2017-04-11 16:51:16 +02:00
Kai Bao
f70bb960dd updating rates of multiphase with updateWellStateWithTargets
for StandardWellsDense model.
2017-04-11 16:51:16 +02:00
Kai Bao
819aa90d84 adding prepareTimeStep() to the StandardWellsDense
to handle the well potential related calculation
2017-04-11 16:51:16 +02:00
Kai Bao
57f7650228 adding a function computeWellPotentials for StandardWellsDense
for each well. It is a temporay approach for testing without breaking
any compilation before changing the interface for WellsManager.
2017-04-11 16:51:16 +02:00
Atgeirr Flø Rasmussen
297dd97c74 Merge pull request #1093 from andlaus/make-flow_ebos-the-default
make the default flow point to flow_ebos instead of flow_legacy
2017-04-11 14:39:17 +02:00
Andreas Lauser
d08d909c00 change the symlink for flow to flow_ebos
`flow_ebos` should be now capable of doing everything that
`flow_legacy` can and recently all testing seems to have been centered
on `flow_ebos`. note that `flow_ebos` does not yet support some more
advanced/exotic features like MPI, solvents, polymer, etc., but
neither does the plain `flow_legacy` binary. until `flow_ebos`
supports these features, the specialized simulators thus continue to
use the legacy code paths.
2017-04-11 13:25:18 +02:00
Atgeirr Flø Rasmussen
39f9d0e397 Merge pull request #1133 from andlaus/flow_ebos-unit-tests
add unit tests for flow_ebos analogous to flow_legacy
2017-04-11 12:59:09 +02:00
Atgeirr Flø Rasmussen
189d91bc9e Merge pull request #1134 from andlaus/report-failure
flow_ebos: print statistics about failed time steps
2017-04-11 12:29:33 +02:00
Atgeirr Flø Rasmussen
2dff8ef141 Merge pull request #1135 from nairr/terminal_output_mod
Minor terminal output modifications
2017-04-11 11:39:27 +02:00
Andreas Lauser
ef2a560fb3 flow_ebos: print statistics about failed time steps
the performance summary at the end of a Norne run which are printed by
`flow_ebos` now looks like this on my machine:

```
Total time (seconds):         773.757
Solver time (seconds):        753.349
 Assembly time (seconds):     377.218 (Failed: 23.537; 6.23965%)
 Linear solve time (seconds): 352.022 (Failed: 23.2757; 6.61201%)
 Update time (seconds):       16.3658 (Failed: 1.13149; 6.91375%)
 Output write time (seconds): 22.5991
Overall Well Iterations:      870 (Failed: 35; 4.02299%)
Overall Linearizations:       2098 (Failed: 136; 6.48236%)
Overall Newton Iterations:    1756 (Failed: 136; 7.74487%)
Overall Linear Iterations:    26572 (Failed: 1786; 6.72136%)
```

for the flow_legacy family, nothing changes.
2017-04-11 11:12:11 +02:00
Rohith Nair
1fd91b2ce0 edit 2017-04-11 10:03:22 +02:00
Rohith Nair
be74630699 minor changes to output tag 2017-04-11 09:49:59 +02:00
Atgeirr Flø Rasmussen
88e4646b71 Merge pull request #1084 from babrodtk/hysteresis_output
Adds hysteresis output and input (for restarting)
2017-04-11 07:44:59 +02:00
Atgeirr Flø Rasmussen
83d10ac960 Merge pull request #1132 from atgeirr/fix-data-update
Fix data update directory for flow_sequential test.
2017-04-10 22:45:16 +02:00
Atgeirr Flø Rasmussen
a716af2437 Merge pull request #1131 from atgeirr/fix-jenkins-run-spe
Add executable name to reference data locations.
2017-04-10 22:41:33 +02:00
Rohith Nair
375e4e2678 Changed output classification of NaN residuals to "Bug" from "Problem" 2017-04-10 18:55:54 +02:00
Andreas Lauser
6c7062580f add unit tests for flow_ebos analogous to flow_legacy
or are these called integration tests? anyway, these are the tests
which use the decks from opm-data. This should put flow_ebos testing
on the same level as flow_legacy.
2017-04-10 14:08:11 +02:00
Atgeirr Flø Rasmussen
f166c9e15c Fix data update directory for flow_sequential test. 2017-04-10 13:54:49 +02:00
dr-robertk
9b29b57960 Merge pull request #1124 from atgeirr/output-dir
Refactor directory creation
2017-04-10 13:04:42 +02:00
Atgeirr Flø Rasmussen
79aec24f33 Add executable name to reference data locations. 2017-04-10 12:27:19 +02:00
Atgeirr Flø Rasmussen
ddd9f0cb5f Merge pull request #1130 from akva2/forgotten_paths
fixed: forgotten paths in 7bbb4a2a28
2017-04-07 23:48:51 +02:00
Arne Morten Kvarving
2f463916fa fixed: forgotten paths in 7bbb4a2a28 2017-04-07 19:23:00 +02:00
babrodtk
4d286cf0b3 Makes hysteresis and somax optional in restart file 2017-04-07 16:20:35 +02:00
Atgeirr Flø Rasmussen
db8523e849 Merge pull request #1082 from totto82/satTableIdWells
Support for saturation table for each well completion
2017-04-07 14:43:28 +02:00