610 likes | 815 Views
a multi-scale, pattern-based approach to sequential simulation. burc arpat ( coaching provided by jef caers ). annual scrf meeting, may 2003 stanford university. let’s talk business….
E N D
a multi-scale, pattern-based approach to sequential simulation burc arpat ( coaching provided by jef caers ) annual scrf meeting, may 2003 stanford university
let’s talk business… - geostatistics :: business of generating reservoir models using available data from many scales ( data integration ) - reservoirs might contain complex geological shapes such as channels that effect the flow behavior of the reservoir - thus, accurate modeling of reservoirs is needed for flow performance and prediction studies
two schools of geostatistics – part 1 of 2 object-based modeling :: - generate objects, drop them on to the reservoir and move them around until they match all data - crisp shape reproduction due to operating directly with objects an object-basedreservoir model - poor data conditioning, especially to dense well data and 3D seismic
two schools of geostatistics – part 2 of 2 pixel-based modeling :: - infer or model the statistics and build the reservoir model one pixel at a time accounting for data - only sufficient shape reproduction due to the pixel-based nature a pixel-basedreservoir model - good data conditioning to any type of data including 3D seismic
two schools of geostatistics – part 2 of 2 pixel-based modeling :: - infer or model the statistics and build the reservoir model one pixel at a time accounting for data - only sufficient shape reproduction due to the pixel-based nature a pixel-based SNESIM realization - good data conditioning to any type of data including 3D seismic
two schools of geostatistics – part 2 of 2 pixel-based modeling :: - infer or model the statistics and build the reservoir model one pixel at a time accounting for data - only sufficient shape reproduction due to the pixel-based nature a pixel-based SNESIM realization - good data conditioning to any type of data including 3D seismic
a popular methodology :: sequential simulation sequential simulation is the dominating methodology in pixel-based methods. the basic idea is straightforward :: step 1 :: obtain the statistics of the reservoir using a mathematical model such as a variogram or infer it step 2 :: decide on a random path to visit all your uninformed node on your simulation grid step 3 :: during simulation, at every node, using the obtained statistics and the available neighborhood data, construct a ccdf and draw from it
examples of sequential simulation algorithms sequential gaussian simulation ( SGSIM ), sequential indicator simulation ( SISIM ) and single normal equation simulation ( SNESIM ) are all typical examples :: - SGSIM uses a variogram-based continuous variable model in gaussian space - SISIM uses indicator variables and a divided model with multiple variograms to handle multiple categories - SNESIM infers the statistics from a training image by constructing a smart catalog of training image events
a powerful idea :: training images – part 1 of 2 - the original idea is due to srivastava ( 1992 ), later published in guardino and srivastava ( 1993 ) - training images are non-conditional and purely conceptual depictions of how the reservoir should look like - the authors proposed a sequential simulation algorithm which is also used by SNESIM ( strebelle, 2000 ) a training image
a powerful idea :: training images – part 2 of 2 the basic algorithm :: step 1 :: during simulation, extract the neighborhood of the visited node using a template ( a data event ) training image step 2 :: scan the training image to look for matches to this data event step 3 :: once all matches are found, construct the ccdf using the central values of matched events and draw simulation grid
a powerful idea :: training images – part 2 of 2 1 2 3 dataevent replicates in the training image ( 2/3 sand ratio) the basic algorithm :: step 1 :: during simulation, extract the neighborhood of the visited node using a template ( a data event ) training image step 2 :: scan the training image to look for matches to this data event step 3 :: once all matches are found, construct the ccdf using the central values of matched events and draw simulation grid
problem :: reproduction of large scale continuity - to capture the details of the very continuous and complex channels,a large template is required - yet, a large template means many template nodes to process and that is not feasible for real-life problems - reproduction of large scale continuity is not a challenge only associated with training images a training image
solution :: multiple-grids to the rescue – part 1 of 2 in 1994, tran suggested use of multi-grids as a solution :: instead of using one large and dense template, utilizea series of cascading multi-grids and sparse templates full empty coarse template fine template
solution :: multiple-grids to the rescue – part 2 of 2 15 15 coarse grid fine grid sand non-sand unknown
standard multi-grid approach is not problem-free - the multi-grid approach might introduce artificial discontinuities to the reservoir model - in the coarse grid, once a value is simulated, it is frozen and cannot be changed in finer grids - this is a dangerous practice! we are making consequential decisions without having enough information coarse grid
standard multi-grid approach is not problem-free - the multi-grid approach might introduce artificial discontinuities to the reservoir model demonstration :: - in the coarse grid, once a value is simulated, it is frozen and cannot be changed in finer grids - this is a dangerous practice! we are making consequential decisions without having enough information coarse grid
standard multi-grid approach is not problem-free - the multi-grid approach might introduce artificial discontinuities to the reservoir model demonstration :: - in the coarse grid, once a value is simulated, it is frozen and cannot be changed in finer grids - this is a dangerous practice! we are making consequential decisions without having enough information fine grid
an improved multi-grid approach – a proposal - instead of drawing at coarser grids, we propose to retain the ccdf and propagate this ccdf to finer grids - in finer grids, we allow previously calculated ccdfs to be modified,i.e. coarse nodes are never frozen - we only draw/simulate at the finest grid; before this step, it’s only progression of ccdfs coarse grid
an improved multi-grid approach – a proposal - instead of drawing at coarser grids, we propose to retain the ccdf and propagate this ccdf to finer grids demonstration :: - in finer grids, we allow previously calculated ccdfs to be modified,i.e. coarse nodes are never frozen - we only draw/simulate at the finest grid; before this step, it’s only progression of ccdfs coarse grid
an improved multi-grid approach – a proposal - instead of drawing at coarser grids, we propose to retain the ccdf and propagate this ccdf to finer grids demonstration :: - in finer grids, we allow previously calculated ccdfs to be modified,i.e. coarse nodes are never frozen - we only draw/simulate at the finest grid; before this step, it’s only progression of ccdfs fine grid
a strong requirement of the improved multi-grid approach - the improved multi-grid approach assumes that the sequential simulation implementation of your choice is capable of dealing with continuous variables - this eliminates SNESIM as the candidate method; it only works with indicators. SGSIM and SISIM fit the bill but we would like to get past variogram-based methods already! - a new approach to sequential simulation is needed. the approach should (1) account for more than 2-point statistics for shape reproduction, (2) handle continuous variables to be used with the new multi-grid approach
a strong requirement of the improved multi-grid approach - the improved multi-grid approach assumes that the sequential simulation implementation of your choice is capable of dealing with continuous variables - this eliminates SNESIM as the candidate method; it only works with indicators. SGSIM and SISIM fit the bill but we would like to get past variogram-based methods already! - a new approach to sequential simulation is needed. the approach should (1) account for more than 2-point statistics for shape reproduction, (2) handle continuous variables to be used with the new multi-grid approach
a strong requirement of the improved multi-grid approach - the improved multi-grid approach assumes that the sequential simulation implementation of your choice is capable of dealing with continuous variables - this eliminates SNESIM as the candidate method; it only works with indicators. SGSIM and SISIM fit the bill but we would like to get past variogram-based methods already! - a new approach to sequential simulation is needed. the approach should (1) account for more than 2-point statistics for shape reproduction, (2) handle continuous variables to be used with the new multi-grid approach
coming soon to a computer near you :: the SIMPAT algorithm step 1 :: scan the training image using a template to extract all available, unique patterns ( a.k.a. data events ) step 2 :: using a clustering algorithm, group all patterns into classes based on ’similarity’ ( construct prototypes ) step 3 :: during simulation, at each unknown node, (a) extract the data event, (b) find the ‘most similar’ prototype to the dev and (c) draw from its central value training image
coming soon to a computer near you :: the SIMPAT algorithm step 1 :: scan the training image using a template to extract all available, unique patterns ( a.k.a. data events ) step 2 :: using a clustering algorithm, group all patterns into classes based on ’similarity’ ( construct prototypes ) step 3 :: during simulation, at each unknown node, (a) extract the data event, (b) find the ‘most similar’ prototype to the dev and (c) draw from its central value patterns
coming soon to a computer near you :: the SIMPAT algorithm prototype similar patterns step 1 :: scan the training image using a template to extract all available, unique patterns ( a.k.a. data events ) step 2 :: using a clustering algorithm, group all patterns into classes based on ’similarity’ ( construct prototypes ) step 3 :: during simulation, at each unknown node, (a) extract the data event, (b) find the ‘most similar’ prototype to the dev and (c) draw from its central value patterns
coming soon to a computer near you :: the SIMPAT algorithm step 1 :: scan the training image using a template to extract all available, unique patterns ( a.k.a. data events ) step 2 :: using a clustering algorithm, group all patterns into classes based on ’similarity’ ( construct prototypes ) step 3 :: during simulation, at each unknown node, (a) extract the data event, (b) find the ‘most similar’ prototype to the dev and (c) draw from its central value patterns
coming soon to a computer near you :: the SIMPAT algorithm step 1 :: scan the training image using a template to extract all available, unique patterns ( a.k.a. data events ) step 2 :: using a clustering algorithm, group all patterns into classes based on ’similarity’ ( construct prototypes ) step 3 :: during simulation, at each unknown node, (a) extract the data event, (b) find the ‘most similar’ prototype to the dev and (c) draw from its central value prototypes
coming soon to a computer near you :: the SIMPAT algorithm step 1 :: scan the training image using a template to extract all available, unique patterns ( a.k.a. data events ) step 2 :: using a clustering algorithm, group all patterns into classes based on ’similarity’ ( construct prototypes ) step 3 :: during simulation, at each unknown node, (a) extract the data event, (b) find the ‘most similar’ prototype to the dev and (c) draw from its central value prototypes
coming soon to a computer near you :: the SIMPAT algorithm step 1 :: scan the training image using a template to extract all available, unique patterns ( a.k.a. data events ) step 2 :: using a clustering algorithm, group all patterns into classes based on ’similarity’ ( construct prototypes ) step 3 :: during simulation, at each unknown node, (a) extract the data event, (b) find the ‘most similar’ prototype to the dev and (c) draw from its central value prototypes
coming soon to a computer near you :: the SIMPAT algorithm step 1 :: scan the training image using a template to extract all available, unique patterns ( a.k.a. data events ) step 2 :: using a clustering algorithm, group all patterns into classes based on ’similarity’ ( construct prototypes ) step 3 :: during simulation, at each unknown node, (a) extract the data event, (b) find the ‘most similar’ prototype to the dev and (c) draw from its central value prototypes
coming soon to a computer near you :: the SIMPAT algorithm step 1 :: scan the training image using a template to extract all available, unique patterns ( a.k.a. data events ) step 2 :: using a clustering algorithm, group all patterns into classes based on ’similarity’ ( construct prototypes ) step 3 :: during simulation, at each unknown node, (a) extract the data event, (b) find the ‘most similar’ prototype to the dev and (c) draw from its central value prototypes
coming soon to a computer near you :: the SIMPAT algorithm step 1 :: scan the training image using a template to extract all available, unique patterns ( a.k.a. data events ) the modeling of the current node ccdf occurs when the ‘most similar’ prototype to the data event is found using the similarity criterion.the data event is fit to a previously determined prototype; hence, explicit modeling of the ccdf, instead of mere sampling, is achieved step 2 :: using a clustering algorithm, group all patterns into classes based on ’similarity’ ( construct prototypes ) step 3 :: during simulation, at each unknown node, (a) extract the data event, (b) find the ‘most similar’ prototype to the dev and (c) draw from its central value prototypes
( what is similarity? ) pattern a pattern b
a SIMPAT tutorial – the training image tutorial training image( channel ratio = 0.5 ) 2 multi-grid templates( 5x5 and 3x3 )
a SIMPAT tutorial – coarse grid patterns coarse grid patterns
a SIMPAT tutorial – coarse grid prototypes coarse grid prototypes
a SIMPAT tutorial – fine grid patterns fine grid patterns
a SIMPAT tutorial – fine grid prototypes fine grid prototypes
a SIMPAT tutorial – the final realization end of the coarse grid during the fine grid…
a SIMPAT tutorial – the final realization end of the coarse grid during the fine grid…
a SIMPAT tutorial – the final realization end of the coarse grid during the fine grid…
a SIMPAT tutorial – the final realization end of the coarse grid during the fine grid…
a SIMPAT tutorial – the final realization end of the coarse grid during the fine grid…
a SIMPAT tutorial – the final realization end of the coarse grid final realization
let’s see some results :: boxes 150 150 training image SIMPAT realization
let’s see some results :: the ‘standard’ training image 250 250 training image SIMPAT realization
let’s see some results :: the ‘standard’ training image 250 250 SIMPAT realization SIMPAT realization ( no multiple-grid communication )
let’s see some results :: hard data conditioning 100 100 SIMPAT realization ( 50 data points ) reference image
let’s see some results :: hard data conditioning 100 100 SIMPAT realization ( 150 data points ) reference image