Made phase mixing functors a class hierarchy.

In summary:
 - added RsFunction (base class),
 - made NoMixing, RsVD, RsSatAtContact inherit RsFunction,
 - RS and RV are no longer template arguments for EquilReg class,
 - EquilReg constructor now takes two shared_ptr<Miscibility::RsFunction>,
 - use of constructor updated, mostly using make_shared.
This commit is contained in:
Atgeirr Flø Rasmussen
2014-02-26 14:47:24 +01:00
parent 8266c52d99
commit 38c89f363d
3 changed files with 65 additions and 61 deletions

View File

@@ -296,7 +296,8 @@ namespace Opm
const int repcell = *cells.begin();
const RhoCalc calc(props, repcell);
const EqReg eqreg(rec[r], calc, NoMix(), NoMix(),
const EqReg eqreg(rec[r], calc,
std::make_shared<NoMix>(), std::make_shared<NoMix>(),
props.phaseUsage());
const PPress& res = phasePressures(G, eqreg, cells, grav);
@@ -334,7 +335,8 @@ namespace Opm
const int repcell = *cells.begin();
const RhoCalc calc(props, repcell);
const EqReg eqreg(rec[r], calc, NoMix(), NoMix(),
const EqReg eqreg(rec[r], calc,
std::make_shared<NoMix>(), std::make_shared<NoMix>(),
props.phaseUsage());
const PPress press = phasePressures(G, eqreg, cells, grav);