Add optional global flag to FieldPropsManager::porv()

This commit is contained in:
Joakim Hove
2019-12-06 08:33:26 +01:00
parent 1534570b3d
commit f4882522cb
5 changed files with 63 additions and 42 deletions

View File

@@ -285,6 +285,10 @@ ENDBOX
const auto& defaulted = fpm.defaulted<double>("PORV");
const auto& porv = fpm.porv();
// All cells should be active for this grid
BOOST_CHECK_EQUAL(porv.size(), grid.getNumActive());
BOOST_CHECK_EQUAL(porv.size(), grid.getCartesianSize());
// k = 0: poro * V
for (std::size_t g = 0; g < 100; g++) {
BOOST_CHECK_EQUAL(porv[g], grid.getCellVolume(g) * poro[g]);
@@ -319,4 +323,20 @@ ENDBOX
BOOST_CHECK_EQUAL(ntg[g], 1.0);
BOOST_CHECK_EQUAL(multpv[g], 4.0);
}
std::vector<int> actnum(400, 1);
actnum[0] = 0;
grid.resetACTNUM(actnum);
fpm.reset_grid(grid);
auto porv_global = fpm.porv(true);
auto porv_active = fpm.porv(false);
BOOST_CHECK_EQUAL( porv_active.size(), grid.getNumActive());
BOOST_CHECK_EQUAL( porv_global.size(), grid.getCartesianSize());
BOOST_CHECK_EQUAL( porv_global[0], 0);
for (std::size_t g = 1; g < grid.getCartesianSize(); g++) {
BOOST_CHECK_EQUAL(porv_active[g - 1], porv_global[g]);
BOOST_CHECK_EQUAL(porv_global[g], porv[g]);
}
}