The no-side-flow boundary condition method
No-side-flow boundary conditions impose a constant pressure on one face of the block, and a different constant pressure on the opposing face. The other four sides of the block are subject to no-flow boundary conditions. There are three different ways of applying these boundary conditions, providing three independent numerical experiments for the components of a diagonal permeability tensor.
We compute the total flux through the block in the direction of the pressure drop, joining the mid-points of the block faces in the direction of flow. The effective permeability is then estimated by solving the same problem with constant permeabilities chosen to give the same flux. For the no-side-flow boundary conditions, this constant permeability problem is solved using harmonic-arithmetic averaging. An error is introduced by this, unless the grid blocks are rectangular. The use of the linear boundary conditions removes the need for this approximation.
The no-side-flow boundary condition method uses the fine model geometry for the microgrid when upgridding has been done and the fine model has a rectangular grid with regular and spacing ( is constant for a given y, and is constant for a given x). In other cases the microgrid is obtained by interpolating the block corners. In many cases the sampling uses the exact fine grid as explained earlier.
The no-side-flow boundary condition method transforms the problem into an equivalent problem on a cube. The Jacobians and length-scale factors are evaluated at the cell centers. The transmissibilities, on irregular grids, are slightly different between this approach and the NEWTRAN method used in the ECLIPSE simulator.
The results are different from the similar calculation performed with a zero face multiplier but using the linear boundary condition method because (i) the geometry of the fine grid may be different (ii) a different method is used to back-out the upscaled values and (iii) the transmissibilities between the fine grid cells are calculated differently.
The linear boundary condition method
Linear boundary conditions are imposed by choosing a direction vector along the normal to a surface that divides the grid block into two parts. This dividing surface is the arithmetic average of the two opposing faces modeled as bilinear patches. This can be done in three ways, leading to three numerical experiments; one for each component of a diagonal permeability tensor. The pressure at points on the external faces is given by the scalar product of the direction vector with the coordinates at those points.
The total flux through the system is calculated in the direction joining the mid-points of the two grid block faces in the direction of flow. This is also the direction of the pressure drop. The diagonal upscaled permeability tensor is then defined to be that constant diagonal tensor that would give rise to the same fluxes if we use identical boundary conditions.
In all cases, even if upgridding has been performed, the linear boundary condition method uses the microgrid geometry; not the fine model geometry. However, in simpler cases the geometries can coincide.
The transmissibilities are calculated in the same way as in the ECLIPSE simulator, using the NEWTRAN method.
There is an option to apply a multiplier (between 0 and 1) to the side faces in each of the three numerical experiments. When the multiplier is zero we have a version of the no-side-flow boundary condition method. Thus in an -direction flow experiment, we apply the and face multipliers to the side-faces.
In the default multiplier option the multipliers on all six faces are calculated by the code. The normal at the center of each face is found, and the multiplier for that face is the magnitude of the dot product of the normal with the direction of the imposed pressure gradient.
The multiplier can be used to investigate the presence of permeability barriers in a grid block. If the barriers are extensive, intersecting several blocks, then a low value of the multiplier is suggested. If the barriers only pass through a block and part of its neighbor then a multiplier value near one is appropriate.
The linear boundary condition method has been discussed by Madsen, [Ref. 30],and King et al, [Ref. 24]. King et al introduced the concept of the face multipliers.
The adjoint method
Each flow-based upscaler needs (i) boundary conditions (ii) a flow solver (iii) a diagnostic function. This last requirement reduces to the provision of a vector, , and a fixed number, , so that a measure, , of the total flux is given by where is the vector of pressures obtained from the numerical solution. Normally one would use a different vector, , and number, , for each flow direction. The vector and the number are both functions of the chosen boundary conditions and the permeability in the microcells adjacent to the grid block surface. In the adjoint method we choose the diagnostic function by first finding the total flux through each face of the grid block in the direction of increasing x, increasing y and increasing z and then taking the sum of these fluxes. (If we take the sum of the fluxes in the direction of the outward pointing normal then, of course, the sum would be zero.) Thus we can use the same vector in the diagnostic functions. The constant, , is different in each experiment. In the adjoint method we use linear boundary conditions, and the constant , depends on the direction of the pressure gradient in each numerical experiment.
Thus we can use the adjoint method of solving a sequence of linear equation problems, where only the right hand sides are different, and we only wish to evaluate a fixed linear diagnostic function. We therefore only need to solve the linear system once and we can find the total fluxes by evaluating three dot products. In the adjoint method we use the same matrix as in the normal approach. We can do this because the matrix is symmetric. The right side in the adjoint method is the vector and we solve for a vector . The flux is then given by where is the usual right side. We only need solve for once, and then we can compute the three values of using the three right hand sides.
The adjoint method has the potential to be nearly three times as fast as the standard linear boundary method. If we use face multipliers we destroy the feature of constancy in . For this reason the Face Multiplier option is not available on the adjoint method.
The adjoint method does not give the same upscaled permeabilities as the linear boundary condition method with unit multipliers. However, the results are almost the same.