Another tidbit -
The topic of upscaling is complex - indeed entire books could be written on it. One of the many pitfalls you can fall into is upscaling a block of net and non-net reservoir togeather.
Scenario:
Two blocks of equal dimensions & pore volume = V, one with 20mD and other with 0.5mD are to be upscaled into one block. You know that anything less than 1mD has (a) no/little charge and (b) no flow contribution, but have not netted it out as the saturation height function takes care of the (lack of) charge properly
Simple averaging of the two blocks would create a single block of 10.25mD and pore volume 2V... It's kh would be more or less correct BUT when you apply your newly created saturation height function to it, you'll probably find you've got around 0.8x2V (or 1.6V or so) of hydrocarbons.... In effect you have added hydrocarbon volume. Additionally for a given flux of (for example) water through the upscaled block, it would take almost twice as long to break through to the other end..... Overall you are creating optimistic HCPV and optimistic breakthrough behaviour
One approach that I have used often to reduce this effect is the following;
1. Create a new perm property as follows PERMX_Cutoff = if(PERMX>1,PERMX,U)
2. Create a NTG property as follows NTG = if(PERMX>1,1,0)
3. Upscale PERMX_Cutoff and NTG
Step 1 sets any perm less than your cutoff (in this case 1mD) as U (undefined in Petrel syntax). In the scenario above, averaging a 20mD and an undefined block togeather would result in 20mD
Upscaling the NTG would result in (1+0)/2 = 0.5
Now, your kh is still preserved, your saturation height function will give you the correct Sw, and the overall volume will be correct
Just some random thoughts that popped to mind this evening....





Reply With Quote

Bookmarks