mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
fix wrong implementation.
This commit is contained in:
@@ -233,9 +233,8 @@ namespace Opm {
|
|||||||
double res_factor = polymer_props_.resFactor();
|
double res_factor = polymer_props_.resFactor();
|
||||||
double factor = (res_factor -1.) / max_ads;
|
double factor = (res_factor -1.) / max_ads;
|
||||||
V rk = one + factor * ads;
|
V rk = one + factor * ads;
|
||||||
V krw_eff = krw / rk;
|
|
||||||
|
|
||||||
return krw_eff;
|
return krw / rk;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -257,17 +256,8 @@ namespace Opm {
|
|||||||
double res_factor = polymer_props_.resFactor();
|
double res_factor = polymer_props_.resFactor();
|
||||||
double factor = (res_factor - 1.) / max_ads;
|
double factor = (res_factor - 1.) / max_ads;
|
||||||
ADB rk = one + ads * factor;
|
ADB rk = one + ads * factor;
|
||||||
ADB dkrw_ds = krw / rk;
|
|
||||||
ADB dkrw_dc = -factor * krw / (rk * rk) * ads ;
|
|
||||||
|
|
||||||
const int num_blocks = c.numBlocks();
|
return krw / rk;
|
||||||
std::vector<ADB::M> jacs(num_blocks);
|
|
||||||
for (int block = 0; block < num_blocks; ++block) {
|
|
||||||
jacs[block] = dkrw_ds.derivative()[block] * sw.derivative()[block]
|
|
||||||
+ dkrw_dc.derivative()[block] * c.derivative()[block];
|
|
||||||
}
|
|
||||||
|
|
||||||
return ADB::function(krw_eff, jacs);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}// namespace Opm
|
}// namespace Opm
|
||||||
|
|||||||
Reference in New Issue
Block a user