Simulation partially supported for CpGrid with LGRs

This commit is contained in:
Antonella Ritorto
2024-01-29 15:05:52 +01:00
parent 84052fcefc
commit 5e1a37e497
4 changed files with 100 additions and 7 deletions

View File

@@ -667,7 +667,13 @@ public:
}
}
bool isSubStep = !EWOMS_GET_PARAM(TypeTag, bool, EnableWriteAllSolutions) && !this->simulator().episodeWillBeOver();
eclWriter_->evalSummaryState(isSubStep);
// For CpGrid with LGRs, ecl/vtk output is not supported yet.
const auto& grid = this->simulator().vanguard().gridView().grid();
using GridType = std::remove_cv_t< typename std::remove_reference<decltype(grid)>::type>;
bool isCpGrid = std::is_same_v<GridType, Dune::CpGrid>;
if ( !isCpGrid || (this->simulator().vanguard().gridView().grid().maxLevel()==0)) {
eclWriter_->evalSummaryState(isSubStep);
}
int episodeIdx = this->episodeIndex();
@@ -2074,7 +2080,7 @@ protected:
this->referencePorosity_[/*timeIdx=*/0].resize(numDof);
const auto& fp = eclState.fieldProps();
const std::vector<double> porvData = fp.porv(false);
const std::vector<double> porvData = this -> fieldPropDoubleOnLeafAssigner_()(fp, "PORV");
for (std::size_t dofIdx = 0; dofIdx < numDof; ++dofIdx) {
Scalar poreVolume = porvData[dofIdx];