mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
adding prepareStep() for the BlackoilMultiSegmentModel
Have not added the wellbore volume related part.
This commit is contained in:
parent
cdb2b92bb6
commit
40f245deef
@ -55,6 +55,7 @@ namespace Opm {
|
|||||||
|
|
||||||
typedef BlackoilModelBase<Grid, BlackoilMultiSegmentModel<Grid> > Base; // base class
|
typedef BlackoilModelBase<Grid, BlackoilMultiSegmentModel<Grid> > Base; // base class
|
||||||
typedef typename Base::ReservoirState ReservoirState;
|
typedef typename Base::ReservoirState ReservoirState;
|
||||||
|
typedef typename Base::WellState WellState;
|
||||||
typedef BlackoilMultiSegmentSolutionState SolutionState;
|
typedef BlackoilMultiSegmentSolutionState SolutionState;
|
||||||
|
|
||||||
// --------- Public methods ---------
|
// --------- Public methods ---------
|
||||||
@ -93,7 +94,7 @@ namespace Opm {
|
|||||||
/// \param[in, out] well_state well state variables
|
/// \param[in, out] well_state well state variables
|
||||||
void prepareStep(const double dt,
|
void prepareStep(const double dt,
|
||||||
ReservoirState& reservoir_state,
|
ReservoirState& reservoir_state,
|
||||||
WellState& well_state) {};
|
WellState& well_state);
|
||||||
|
|
||||||
/// Called once after each time step.
|
/// Called once after each time step.
|
||||||
/// In this class, this function does nothing.
|
/// In this class, this function does nothing.
|
||||||
@ -133,6 +134,9 @@ namespace Opm {
|
|||||||
// For the non-segmented well, it should be the density with AVG or SEG way.
|
// For the non-segmented well, it should be the density with AVG or SEG way.
|
||||||
// while usually SEG way
|
// while usually SEG way
|
||||||
using Base::well_perforation_densities_; //Density of each well perforation
|
using Base::well_perforation_densities_; //Density of each well perforation
|
||||||
|
using Base::pvdt_;
|
||||||
|
using Base::geo_;
|
||||||
|
using Base::active_;
|
||||||
|
|
||||||
|
|
||||||
// Diff to the pressure of the related segment.
|
// Diff to the pressure of the related segment.
|
||||||
@ -177,6 +181,7 @@ namespace Opm {
|
|||||||
// return wells object
|
// return wells object
|
||||||
// TODO: remove this wells structure
|
// TODO: remove this wells structure
|
||||||
using Base::wells;
|
using Base::wells;
|
||||||
|
using Base::updatePrimalVariableFromState;
|
||||||
|
|
||||||
const std::vector<WellMultiSegmentConstPtr>& wellsMultiSegment() const { return wells_multisegment_; }
|
const std::vector<WellMultiSegmentConstPtr>& wellsMultiSegment() const { return wells_multisegment_; }
|
||||||
|
|
||||||
|
@ -90,17 +90,19 @@ namespace Opm {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* template <class Grid, class Implementation>
|
template <class Grid>
|
||||||
void
|
void
|
||||||
BlackoilModelBase<Grid, Implementation>::
|
BlackoilMultiSegmentModel<Grid>::
|
||||||
prepareStep(const double dt,
|
prepareStep(const double dt,
|
||||||
ReservoirState& reservoir_state,
|
ReservoirState& reservoir_state,
|
||||||
WellState&)
|
WellState& well_state)
|
||||||
{
|
{
|
||||||
pvdt_ = geo_.poreVolume() / dt;
|
pvdt_ = geo_.poreVolume() / dt;
|
||||||
if (active_[Gas]) {
|
if (active_[Gas]) {
|
||||||
updatePrimalVariableFromState(reservoir_state);
|
updatePrimalVariableFromState(reservoir_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO: handle the volume related.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -109,7 +111,7 @@ namespace Opm {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
template <class Grid, class Implementation>
|
/* template <class Grid, class Implementation>
|
||||||
void
|
void
|
||||||
BlackoilModelBase<Grid, Implementation>::makeConstantState(SolutionState& state) const
|
BlackoilModelBase<Grid, Implementation>::makeConstantState(SolutionState& state) const
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user