Commit Graph

33 Commits

Author SHA1 Message Date
Markus Blatt
9a7b77af9c Do not store number of phases in StandardWells.
The wells pointer might be null and we need to access its number of
phases in the constructor to store it. With this commit we prevent that
storage and simply ask the well struct whenever we need the number of
phases. Of course the code using it needs to check that there are wells
but that is done in most parts of the opm-simulators currently
(MultiSegmentWells and Solvent are/might be an exception).
2016-06-27 12:14:17 +02:00
Atgeirr Flø Rasmussen
9c0ffee8e9 Changes to well model for supporting sequential approach.
The changes are:
 - Make the WellOps struct public (needed by transport solver).
 - Make it possible to store and retrieve total reservoir volume
   perforation fluxes with getStoredWellPerforationFluxes(), controlled
   by a flag set by setStoreWellPerforationFluxesFlag(), defaulting to
   false (needed by pressure solver).
2016-06-20 11:02:49 +02:00
Kai Bao
879f127ae8 moving variableStateExtractWellsVars() from models to Well Models. 2016-05-23 15:11:52 +02:00
Kai Bao
846ff890de refactoring the interface of computeWellPotentials()
to reduce the cost of makeConstantState when not calculating the
potentials.
2016-05-23 15:11:52 +02:00
Kai Bao
f2b7f2a56c moving numWellVars from models to Wells. 2016-05-23 15:11:52 +02:00
Kai Bao
4254b48b57 unifying interface of a few functions of Wells classes
updateWellControls()
updateWellState()
addWellControlEq()

The change of function computeWellConnectionPressures() is not done
completely. Should find a solution later.
2016-05-23 15:11:51 +02:00
Kai Bao
be165a26e0 adding a few more members to the Wells classes.
gravity, vfp_properties_ and depth_.

to further simplify the interfaces.
2016-05-23 15:11:51 +02:00
Kai Bao
66cd66e61b change reservoir related members to be pointers in StandardWells
to fullfil the requirement of interface design.
2016-05-23 15:11:51 +02:00
Kai Bao
bd03eff5a5 making two functions in StandardWells protected.
computePropertiesForWellConnectionPressures
computeWellConnectionDensitesPressures
2016-05-23 15:11:50 +02:00
Kai Bao
1f2442fe80 reducing paramter list for more functions in StandardWells
computeWellFlux
updateWellState
updateWellControls
addWellControlEq
computeWellPotentials
2016-05-23 15:11:50 +02:00
Kai Bao
a35c3e7468 removing parameters for extractWellPerfProperties 2016-05-23 15:11:50 +02:00
Kai Bao
0667fceb35 reducing the number of arguments of computeWellConnectionPressures
and computeWellConnectionDensitesPressures.

These functions need to be renamed.
2016-05-23 15:11:50 +02:00
Kai Bao
18a530f9be removing paramters in computePropertiesForWellConnectionPressures 2016-05-23 15:11:50 +02:00
Kai Bao
22b5157bf2 adding a few fluid related members to StandardWells
to reduce the number of the public function arguments.
2016-05-23 15:11:50 +02:00
Kai Bao
08e691e262 moving variableWellStateInitials to StandardWells. 2016-04-29 10:07:10 +02:00
Kai Bao
15380fd370 moving variableWellStateIndices to StandardWells
Probably it is the time to introduce SeqQs and SeqP for the
multi-segment wells.
2016-04-29 10:07:10 +02:00
Kai Bao
e7d00f4f99 adding variableStateWellIndices to StandardWells
to handle different types of variables later for different types of
wells.
2016-04-29 10:07:10 +02:00
Kai Bao
b87920e5e4 moving computeWellPotentials to StandardWells 2016-04-29 10:07:10 +02:00
Kai Bao
13acc8ee03 moving computeWellConnectionPressures to StandardWells
the results look okay, while the running for flow_solvent needs further
investigation even the results with flow_solvent actually look okay.

With two different version of
computePropertiesForWellConnectionPressures, flow_solvent produces the
same results. This is something needs further investigation.

The current implementation requires a copy of
computeWellConnectionPressure in StandardWells and StandardWellsSolvent.
That means probably we need to introduce the asImpl() for the Wells.
2016-04-29 10:07:10 +02:00
Kai Bao
dcca0b0b76 moving addWellControlEq to StandardWells 2016-04-29 10:07:10 +02:00
Kai Bao
eb278c3c9a moving addWellFluxEq() to StandardWells
Conflicts:
	opm/autodiff/BlackoilModelBase_impl.hpp
2016-04-29 10:07:10 +02:00
Kai Bao
75b73a893e putting Vector and ADB to be inside StandardWells and wellhelpers 2016-04-14 16:05:19 +02:00
Kai Bao
19734f2103 adding extractWellPerfProperties to StandardWellsSolvent
to fix the flow_solvent running.
2016-04-14 16:05:19 +02:00
Kai Bao
5da57973fe adding updateWellState and updateWellControls to StandardWells 2016-04-14 16:05:18 +02:00
Kai Bao
376c940f09 moving updatePerfPhaseRatesAndPressures to StandardWells 2016-04-14 16:05:18 +02:00
Kai Bao
c398a6e424 puting computeWellFlux in StandardWells 2016-04-14 16:05:18 +02:00
Kai Bao
e9e1b9fda8 adding extractWellPerfProperties to StandardWells
It causes problem for the flow_multisegment. So the version in
BlackoilModelBase is kept for now.

On the other hand, it is few of functions that will be both required by
the standard wells and multisegment wells.

Some decision will be made later on how to put this function.
2016-04-14 16:05:18 +02:00
Kai Bao
c8b66821d5 adding computeWellConnectionDensitesPressures to StandardWells class. 2016-04-14 16:05:18 +02:00
Kai Bao
bca23d34c1 making StandardWells non-templated
we will focus on template functions instead.
2016-04-14 16:05:18 +02:00
Kai Bao
266f6f2df5 adding computePropertiesForWellConnectionPressures to StandardWells
tested with flow. Not sure how other flow siblings work.
2016-04-14 16:05:18 +02:00
Kai Bao
3bcfc905bd makding StandardWells a template based on SolutionState and WellState
may need to be adjusted later.
2016-04-14 16:05:18 +02:00
Kai Bao
23ba5fa398 removing the StandardWells definition inside BlackoilModelBase
and some other tiny cleaning up.
2016-04-07 10:45:13 +02:00
Kai Bao
624516ed3c creating separate files for class StandardWells 2016-04-06 16:42:04 +02:00