mirror of
https://github.com/OPM/opm-simulators.git
synced 2026-09-05 04:40:19 -05:00
making sure the aquifer cells have the correct cell volume
because AQUNUM can specify different cells volume, which is indepedent of the grid coordinates.
This commit is contained in:
@@ -341,6 +341,11 @@ protected:
|
|||||||
void createGrids_()
|
void createGrids_()
|
||||||
{
|
{
|
||||||
grid_.reset(new Dune::CpGrid());
|
grid_.reset(new Dune::CpGrid());
|
||||||
|
|
||||||
|
std::unordered_map<size_t, double> aquifer_cell_volumes;
|
||||||
|
if (this->eclState().aquifer().hasNumericalAquifer()) {
|
||||||
|
aquifer_cell_volumes = this->eclState().aquifer().numericalAquifers().cellVolumes();
|
||||||
|
}
|
||||||
grid_->processEclipseFormat(mpiRank == 0 ? &this->eclState().getInputGrid()
|
grid_->processEclipseFormat(mpiRank == 0 ? &this->eclState().getInputGrid()
|
||||||
: nullptr,
|
: nullptr,
|
||||||
/*isPeriodic=*/false,
|
/*isPeriodic=*/false,
|
||||||
@@ -348,7 +353,8 @@ protected:
|
|||||||
/*clipZ=*/false,
|
/*clipZ=*/false,
|
||||||
mpiRank == 0 ? this->eclState().fieldProps().porv(true)
|
mpiRank == 0 ? this->eclState().fieldProps().porv(true)
|
||||||
: std::vector<double>(),
|
: std::vector<double>(),
|
||||||
this->eclState().getInputNNC());
|
this->eclState().getInputNNC(),
|
||||||
|
aquifer_cell_volumes);
|
||||||
|
|
||||||
// we use separate grid objects: one for the calculation of the initial condition
|
// we use separate grid objects: one for the calculation of the initial condition
|
||||||
// via EQUIL and one for the actual simulation. The reason is that the EQUIL code
|
// via EQUIL and one for the actual simulation. The reason is that the EQUIL code
|
||||||
|
|||||||
Reference in New Issue
Block a user