mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Simplified construction of total flux.
This commit is contained in:
parent
507914bd8f
commit
1aaec4b9a0
@ -403,14 +403,8 @@ int main()
|
|||||||
double res_norm = 1e100;
|
double res_norm = 1e100;
|
||||||
V s1 = /*s0.leftCols<1>()*/0.5*V::Ones(nc,1); // Initial guess.
|
V s1 = /*s0.leftCols<1>()*/0.5*V::Ones(nc,1); // Initial guess.
|
||||||
UpwindSelector<double> upws(grid, ops);
|
UpwindSelector<double> upws(grid, ops);
|
||||||
const ADB nkdp = (ADB::constant(transi , block_pattern) *
|
const V nkdp = transi * (ops.ngrad * p1.matrix()).array();
|
||||||
ADB::constant(ops.ngrad * p1.matrix(), block_pattern));
|
const V dflux = totmobf * nkdp;
|
||||||
const ADB sw0 = ADB::constant(s0.leftCols<1>(), block_pattern);
|
|
||||||
const std::vector<ADB> pmobc0 = phaseMobility<ADB>(props, allcells, sw0.value());
|
|
||||||
const std::vector<ADB> pmobf0 = upws.select(p1, pmobc0);
|
|
||||||
const std::vector<ADB::M> null = { ADB::M(transi.size(), nc) };
|
|
||||||
const ADB dflux = (ADB::function((pmobf0[0] + pmobf0[1]).value(), null) *
|
|
||||||
ADB::function(nkdp.value() , null));
|
|
||||||
|
|
||||||
std::cout.setf(std::ios::scientific);
|
std::cout.setf(std::ios::scientific);
|
||||||
std::cout.precision(16);
|
std::cout.precision(16);
|
||||||
@ -429,7 +423,7 @@ int main()
|
|||||||
|
|
||||||
ADB fw_cell = fluxFunc(pmobc);
|
ADB fw_cell = fluxFunc(pmobc);
|
||||||
const ADB fw_face = fluxFunc(pmobf);
|
const ADB fw_face = fluxFunc(pmobf);
|
||||||
ADB flux1 = fw_face * dflux;
|
const ADB flux1 = fw_face * ADB::constant(dflux, bp);
|
||||||
// std::cout << flux1;
|
// std::cout << flux1;
|
||||||
V qneg = dtpv*q;
|
V qneg = dtpv*q;
|
||||||
V qpos = dtpv*q;
|
V qpos = dtpv*q;
|
||||||
|
Loading…
Reference in New Issue
Block a user