Refactor variableState().

Use base case where possible instead of copying it.
This commit is contained in:
Atgeirr Flø Rasmussen
2015-05-26 11:49:10 +02:00
parent da98f18f80
commit 2539fb935d
2 changed files with 47 additions and 145 deletions

View File

@@ -122,6 +122,7 @@ namespace Opm {
typedef typename Base::SolutionState SolutionState;
typedef typename Base::DataBlock DataBlock;
enum { Concentration = CanonicalVariablePositions::Next };
// --------- Data members ---------
@@ -160,6 +161,7 @@ namespace Opm {
// Need to declare Base members we want to use here.
using Base::wellsActive;
using Base::wells;
using Base::variableState;
using Base::computePressures;
using Base::computeGasPressure;
using Base::applyThresholdPressures;
@@ -181,9 +183,17 @@ namespace Opm {
void
makeConstantState(SolutionState& state) const;
std::vector<V>
variableStateInitials(const ReservoirState& x,
const WellState& xw) const;
std::vector<int>
variableStateIndices() const;
SolutionState
variableState(const ReservoirState& x,
const WellState& xw) const;
variableStateExtractVars(const ReservoirState& x,
const std::vector<int>& indices,
std::vector<ADB>& vars) const;
void
computeAccum(const SolutionState& state,