Gridding and Upscaling*
Also see:
Single-phase flow-based upscaling on Cartesian grids
In a
single coarse Cartesian gridblock of size DX DY DZ, Darcy’s Law directly
gives the permeability in each direction Kx, Ky, and Kz (using a unit
viscosity single phase incompressible fluid) as Qx DX/( DY DZ DPx), Qy DY/(DX
DZ DPy), and Qz DZ/(DX DY DPz), respectively. The Q/DP rate/pressure
difference ratios come from separate solutions in each direction on the
corresponding (nx,ny,nz) fine grid system, and they may be considered as
boundary condition/solution or as solution/boundary condition – these
definitions and boundary condition values make no difference. In that fine
grid system, the equivalent boundary conditions are effectively applied
using planar wells on the edges, for an exactly equivalent physical system.
This
method is not [has not been] generally applicable to non-orthogonal grids such as corner
point, SKUA, or unstructured, since Darcy's Law does not give the coarse
block solution for any discretization other than Cartesian.
So, how are the grids in use today upscaled? We
suspect that usually they are not.
It seems that most users today simply generate their grids at the desired
scale without being able to determine the optimal one. Grid size sensitivity
is usually skipped, but if done consists only of comparing results obtained
on different scale grids, which are almost guaranteed to be different
without any of the conditioning of upscaling that makes it effective. That
leads to the wrong conclusion that simulation at the geological scale is
required, or to severe numerical dispersion (model error) in coarse grids,
which causes error in input/output relationships, severely inhibiting our abilities
in optimization and forecasting.
* taken from an SPE Reservoir Simulation Technical Interest Group
discussion, October 28, 2011 (deleted by SPE, 2014)
New (April 2016)
We have solved the
single-phase flow-based upscaling problem for non-orthogonal grids,
including corner point and SKUA, by adapting our Cartesian upscaling
program. Significant usability and workflow improvements are provided
by integration with Sensor. Application is restricted to regular grids
with no fault throws represented in the grid (no non-neighbor connections),
single-porosity reservoirs, and to the matrix portion of dual
permeability reservoirs. Non-orthogonal grids require input
of grid block pore volumes and transmissibilities that are calculated by the
gridding program/preprocessor.
For fractured dual
porosity/permeability reservoirs, upscale as a single porosity model
to the scale indicated by your manual dual porosity/permeability (dp)
upscaling - comparing discrete sp vs. dp results - then add DUAL option and
fracture data.
See or ask about the new Sensor UPSCALE
feature. Options include stopping the run following upscaling and
writing the coarse grid file, or continuing the run with either the upscaled
coarse grid or the original fine grid.
The implications
are obvious, not only for the solution of the (single-phase) upscaling
problem for non-orthogonal systems, but for potentially achieving the goal
of quantifying uncertainty in probabilistic forecasts and optimizations, even for field-scale models.
Examples are coming soon.
For optimal upscaling, the
geological model should be created on a regular (Cartesian) grid.
Block size uniformity is often critical to reservoir performance (the
smallest cells limit performance), Simply lay the grid over the
reservoir and discretize the properties and features (boundaries. fault
planes, and well trajectories). There is no need for flexible grids in
systems that have been discretized, i.e. properties are assumed fixed within
each discrete volume (gridblock). Like a television picture, good resolution
does not require the use of non-rectangular pixels or a non-orthogonal grid.
This allows for robust application of single-phase flow-based upscaling for
permeability.
No matter what
hardware systems you have, when simulation is required to answer the
question(s) and where Sensor is applicable, nothing is more efficient or
effective than running the
optimal number of tuned serial Sensor realizations in parallel (see
Parallel Reservoir Simulation?) That
optimal number is usually equal to the number of effective cores. |