Sie sind auf Seite 1von 52

ISATIS 2016

Methodological Case Studies

Published, sold and distributed by GEOVARIANCES


49 bis Av. Franklin Roosevelt, 77215 Avon Cedex, France
Web: http://www.geovariances.com

Isatis Release 2016, March 2016

Contributing authors:
Catherine Bleins
Matthieu Bourges
Jacques Deraisme
Franois Geffroy
Nicolas Jeanne
Ophlie Lemarchand
Sbastien Perseval
Jrme Poisson
Frdric Rambert
Didier Renard
Yves Touffait
Laurent Wagner

All Rights Reserved


1993-2016 GEOVARIANCES
No part of the material protected by this copyright notice may be reproduced or utilized in any form
or by any means including photocopying, recording or by any information storage and retrieval system, without written permission from the copyright owner.

"...

There is no probability in itself. There are only probabilistic models. The


only question that really matters, in each particular case, is whether this or
that probabilistic model, in relation to this or that real phenomenon, has or
has not an objective meaning..."
G. Matheron
Estimating and Choosing - An Essay on Probability in Practice
(Springer Berlin, 1989)

Table of Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
1 About This Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
16 Image Filtering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .729
16.1 Presentation of the Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .730
16.2 Exploratory Data Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .732
16.3 Filtering by Kriging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .738
16.4 Other Techniques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .744
16.5 Comparing the Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .748
17 Boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .755
17.1 Presentation of the Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .756
17.2 Boolean Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .759
17.3 Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .765

Introduction

1 About This Manual

Note - The present document only contains case studies related to a specific field of application. The full Case
Studies Manual can be downloaded on Geovariances web site.

A set of case studies is developed in this manual. It is mainly designed:


for new users to get familiar with the software and gives some leading lines to carry a study through,
for all users to improve their geostatistical knowledge by following detailed geostatistical workflows.
Basically, each case study describes how to carry out some specific calculations in Isatis as precisely as possible. The data sets are located on your disk in a sub-directory, called Datasets, of the Isatis installation directory.
You may follow the work flow proposed in the manual (all the main parameters are described) and then compare the results and figures given in the manual with the ones you get from your test.
Most case studies are dedicated to a given field (Mining, Oil & Gas, Environment, Methodology) and therefore
grouped together in appropriate sections. However, new users are advised to run a maximum of case studies,
whatever their field of application. Indeed, each case study describes different functions of the package which
are not necessarily exclusive to one application field but could be useful for other ones.
Several case studies, namely In Situ 3D Resources Estimation (Mining), Property Mapping (Oil & Gas) and
Pollution (Environment) almost cover entire classic geostatistical workflows: exploratory data analysis, data
selections and variography, monovariate or multivariate estimation, simulations.
The other Case Studies are more specific and mainly deal with particular Isatis facilities, as described below:
Non Linear: anamorphosis (with and without information effect), indicator kriging, disjunctive kriging,
uniform conditioning, service variables and simulations.
Non Stationary & Volumetrics: non stationary modeling, external drift kriging and simulations, volumetric calculations, spill point calculation, variable editor.
Plurigaussian: an innovative facies simulation technique.
Oil Shale: fault editor.
Isatoil: multi-layer depth conversion with the Isatoil advanced module.

Case Studies

Young Fish Survey, Acoustic Fish Survey: polygons editor, global estimation.
Image Filtering: image filtering, grid or line smoothing, grid operator.
Boolean: boolean conditional simulations.

Note - All case studies are not necessarily updated for each Isatis release. Therefore, the last
update and the corresponding Isatis version are systematically given in the introduction.

Image Filtering

16.Image Filtering
This case study demonstrates the use of kriging to filter out the component of a variable which corresponds to the noise. Applied to regular
grids such as images, this method gives convincing results in an efficient manner.
The result is compared to classical filters which do not pretend to suppress the noise but to reduce it by dilution instead.
Last update: Isatis version 2014

943

944

16.1 Presentation of the Dataset


The dataset is contained in the ASCII file called images.hd. It corresponds to a grid of 256*256
nodes with a square mesh of 2 microns, only containing one variable piece of information: the
phosphorus element (P) measured using an electronic microprobe on a steel sample. Due to the very
low quantities of material (traces), the realization of this picture may take up to several hours of
exposure: hence the large amount of noise induced by the process. The file is read using the Files /
Import / ASCII facility asking for the data to be loaded in the new Directory called Images and the
new grid file called Grid. The files to be imported are located in Isatis installation directory/Datasets/Image_Filtering.

(snap. 16.1-1)

We set in Preferences / Study Environment the X and Y units for graphics to mm.
Using the File Manager utility, we can check the basic statistics of the P variable that we have just
loaded: it varies from 11 to 71, with a mean of 35 and a standard deviation of 7.
Use the Display facility to visualize the raster contents of the P variable located on the grid. The
large amount of noise, responsible for the fuzziness of the picture, is clearly visible.

Image Filtering

945

(fig. 16.1-1)

Initial Image

946

16.2 Exploratory Data Analysis


The next step consists in analyzing the variability of this trace element with the Statistics / Exploratory Data Analysis.
Once the names of the Directory (Images), File (Grid) and variable (P) have been defined, ask for
a histogram. Using the Application Menu of the graphic page, modify the Calculation Parameters
as follows: 62 classes lying from 10 to 72. The Automatic button resets the minimum and maximum
by performing the statistics on the active data in the file. The resulting histogram is very close to a
normal distribution with a mode located around 35.

(fig. 16.2-1)

16.2.1 Quantile-quantile plot and 2 -test


Although this will not be used afterwards in the case study, it is possible to check how close this
experimental distribution is to normality, using the Quantile-quantile facility.
It allows the comparison of the experimental quantiles to those calculated on any theoretical distribution (normal in our case). This comparison may be improved by suppressing several points taken
from the head or the tail of the experimental distribution.

Image Filtering

947

(snap. 16.2-1)

(fig. 16.2-2)

In the Report Global Statistics item of the Application Menu, you obtain an exhaustive comparison
between the experimental and the theoretical quantiles, as well as the score of the

-test, equal to

948

9049. This score is much greater than the reference value (for 16 degrees of freedom) obtained in
tables: this indicates that the experimental distribution cannot be considered as normal with a high
degree of confidence.

16.2.2 Variographic Analysis


We now wish to estimate the spatial variability of P, by computing its experimental variogram. The
data being organized on a regular grid, the program takes this information into account to calculate
two variograms by default in a more efficient way: the one established by comparing nodes belonging to the same row (X direction) and the one obtained by comparing nodes belonging to the same
column (Y direction). The number of lags is set to 90; be sure to modify the parameter twice (once
for each direction of calculation).

(snap. 16.2-2)

Note - We could try to calculate the variogram cloud on this image: nevertheless, for one (any)
direction, the smallest distance (once the grid mesh) already corresponds to 256255 pairs, the
second lag to 256254 pairs, and so on. Needless to say this procedure takes an enormous amount of
time to draw and selectively picking some "abnormal" pairs is almost impossible. Therefore this
option is not recommended.

Image Filtering

949

(snap. 16.2-3)

This figure represents the two directional variograms that overlay almost perfectly: this informs us
that the variable behaves similarly with respect to distance along the two main axes. This is almost
enough to pretend that the variable is isotropic. Actually, two orthogonal directional variograms are
not theoretically sufficient as the anisotropy could happen on the first diagonal and would not be
visible from the two main axes. The study can be completed by calculating the experimental variograms along the main axes and along the two main diagonals: this test confirms in the present case
the isotropy of the variable. The two experimental directional variograms are stored in a new
Parameter File called P.
To fit a model to these experimental curves, we use the Statistics / Variogram Fitting procedure,
naming the Parameter File containing the experimental quantity (P) and the one that will ultimately
contain the model. You can name it P for better convenience, keeping in mind that, although they
have the same name, there is no ambiguity between these two files as their contents belong to two
different types.

950

(snap. 16.2-4)

Image Filtering

951

(snap. 16.2-5)

By pressing the Edit button of the main window, you can define the model interactively and check
the quality of the fitting using any of the graphic windows available (Fitting or Global). Each modification must be validated using the Test button in order for the graphic to be updated. The Automatic Sill fitting and the Model Initialization of the main window can be used to help you to
determine the optimal sill and ranges values for each basic structure constituting the model. A correct fit is obtained by cumulating a large nugget effect to a very regular behavior corresponding to a
Cubic variogram with a range equal to 0.17 .

952

(fig. 16.2-3)

The parameters can also be printed using the Print button in the Model Editing panel.
Model : Covariance part
=======================
Number of variables
= 1
- Variable 1 : P
Number of basic structures = 2
S1 : Nugget effect
Sill =
40.2576
S2 : Cubic - Range = 0.17mm
Sill =
14.7493
Model : Drift part
==================
Number of drift functions
- Universality condition

= 1

Click on Run (Save) to save your latest choice in the model parameter file.

Image Filtering

953

16.3 Filtering by Kriging


This task corresponds to the Interpolate / Estimation / Image Filtering & Deconvoluting procedure.
First, define the names of directory (Images), file (Grid) and variable (P) of interest which contain
the information. There is no possibility of selecting the output file as it corresponds to the input file,
by construction in this procedure. The only choice is to define the name of the variable which will
receive the result of kriging process: P denoised. The parameter file containing the model is called
P and a new file called Images P is created for the definition and the storage of the neighborhood
parameters.

954

(snap. 16.3-1)

When pressing the Neighborhood Edit button, you can set the parameters defining this Image
neighborhood. Referring to the target node as the reference, this image neighborhood is characterized by the extensions of the rectangle centered on the target node: the extension is specified by its
radius. Hence in 2D, a neighborhood corresponds to the target node alone, whereas a neighborhood
includes the eight nodes adjacent to the target node.
target cell of a 1x1 image neighborhood

Image Filtering

955

For some applications, it may be convenient to reach large distances in the neighboring information. However, the number of nodes belonging to the neighborhood also increases rapidly which
may lead to an unreasonable dimension for the kriging system. A solution consists in sampling the
neighborhood rectangle by defining the skipping ratio: a value of 1 takes all information available,
whereas a value of 2 takes one point out of 2 on average. The skipping algorithm manages to keep a
larger density of samples close to the target node and sparser information as the distance increases.
Actually, the sampling density function is inspired from the shape of the variogram function which
means that this technique also takes anisotropy into account.

(snap. 16.3-2)

Prior to running the process on the whole grid, it may be worth checking its performance on one
grid node in particular. This can be realized by pressing the Test button which produces a graphic
page where the data information is displayed. Because of the amount of data available (256256) the
page shows a solid black square. Using the zooming (or clipping) facility on the graphic area, we
can magnify the picture until a set of limited cells are visible (around 20 by 20).
By clicking on the graphic area, we can select the target node (select the one in the center of the
zoomed area). Then the graphic shows the points selected in the neighborhood, displaying their
kriging weight (as a percentage). The bottom of the graphic page recalls the value of the estimate,
the corresponding standard deviation (square root of the variance) and the value for the sum of
weights. The first trial simply reminds us that kriging is an exact interpolator: as a data point is
located exactly on top of the target node, it receives all the weight (100%) and no other information
carries weight.
In order to perform filtering, we must press the Special Model Options button and ask for the Filtering option. The covariance and drift components are now displayed where you have to select the
item that you wish to filter. The principle is to consider that the measured variables (denoted Z) is
the direct sum of two uncorrelated quantities, the underlying true variable (denoted Y) and the noise
(denoted ): Z = Y + . Due to the absence of correlation, the experimental variogram may be
interpreted as the sum of a continuous component (the Cubic variogram) attributed to Y and the
nugget effect corresponding to the noise
pressing the noise from the input image.

. Hence filtering the nugget effect is equivalent to sup-

956

(snap. 16.3-3)

When pressing the Apply button, the filtering procedure is automatically resumed on the graphic
page, using the same target grid node as in the previous test: you can check that the weights are now
shared on all the neighboring information, although they still add up to 100%.
Before starting the filtering on the whole grid, the neighborhood has to be tuned. An efficient quality index frequently used in image analysis, called the Signal to Noise Ratio, is provided when displaying the Results (in the Application Menu of the graphic page). Roughly speaking, the larger this
quantity the most accurate the result.
The following table summarizes some trials that you can perform. The average number of data in
the neighborhood is recalled, as it directly conditions the computing time.
The Ratio increases quickly and then seems to converge with a radius equal to 8-9. Trying a neighborhood of 10 and a skipping ratio of 2 does not lead to satisfactory results. It is then decided to use
a radius of 8 for the kriging step.
Radius

Number of nodes

Skipping Ratio

Signal to Noise Ratio

3.3

25

9.1

49

17.8

81

29.9

121

41.5

169

53.7

Image Filtering

957

225

63.4

289

69.5

361

72.4

10

441

73.5

10

222

49.37

An interesting concern is to estimate a target grid node located in the corner of the grid. In order to
keep the data pattern unchanged for all the target nodes, including those located on the edge of the
field, the field is virtually extended by mirror symmetry. In the following display, the weights
attached to virtual points are cumulative to the one attached to the actual source data.

(snap. 16.3-4)

The final task consists in performing the filtering on the whole grid.

958

Note - The efficiency of this kriging application is that it takes full advantage of the regular pattern
of the information as it must solve a kriging system with 121 neighborhood data for the 65536 grid
nodes.
The resulting variable varies from 29 to 45, to be compared with the initial statistics. It can be displayed as the initial image, where the color scale has been adapted.

(fig. 16.3-1)

Kriging Filter
This image shows more regular patterns with larger extension for the patches of low and high P values. Compared to the initial image, it shows that the noise has clearly been removed.

Image Filtering

959

16.4 Other Techniques


We return to the basic assumption that the measured variable Z is the combination of the underlying
true variable Y and the noise

:
Z = Y+

(eq. 16.4-1)

It is always assumed that the noise is a zero mean quantity, uncorrelated with Y, and whose variance
is responsible for the nugget effect component of the variogram. In order to eliminate the noise, a
good solution is to perform the convolution of several consecutive pixels on the grid: this technique
corresponds to one of the actions offered by the Tools / Grid or Line Smoothing operation.
On a regular grid, the low pass filtering algorithm performs the following very simple operation on
three consecutive grid nodes in one direction:

1
1
1
Z i --- Z i 1 + --- Z i + --- Z i + 1
4
2
4

(eq. 16.4-2)

A second pass is also available which enhances the variable and avoids flattening it too much. It
operates as follows:

1
3
Z i 1--- Z i 1 + --- Z i --- Z i + 1
2
4
4

(eq. 16.4-3)

When performed on a 2D grid and using the two filtering passes, the following sequence is performed on the whole grid:
l

filter the initial image along X with the first filtering mode,

filter the result along X with the second filtering mode,

filter the result along Y with the first filtering mode,

filter the result along Y with the second filtering mode.

If several iterations are requested, the whole sequence is resumed, replacing the initial image by the
result of the previous iteration when starting a subsequent iteration. This mechanism can be constrained so that the impact of the filtering on each grid node is not stronger than a cutoff variable
(the estimation standard deviation map for instance): this feature is not used here.
We decide empirically to perform 20 iterations of the two-passes filtering on the initial image (P)
and to store the result on the new variable called P smoothed.

960

(snap. 16.4-1)

The result is displayed using the same type of representation as before. Nevertheless, please pay
attention to the difference in color coding. The image also shows much more structured patterns
although this time the initial high frequency has only been diluted (and not suppressed) which
causes the spotted aspect.

(fig. 16.4-1)

Low Pass Filter

Image Filtering

961

Using the same window Tools / Grid or Line Smoothing, we can try another operator such as the
Median Filtering. This algorithm considers a 1D neighborhood of a target grid node and replaces its
value by the median of the neighboring values. In 2D, the whole grid is first processed along X, and
the result is then processed along Y. If several iterations are required, the whole sequence is
resumed. Here, two iterations are performed with a neighborhood radius of 10 pixels (excluding the
target grid node) so that each median is calculated on 21 pixels. The result is stored in the new variable called P median.

(snap. 16.4-2)

The result is displayed with the same type of representation as before: it is even smoother than the
kriging result, which is not surprising given the length of the neighborhood selected for the median
filter algorithm.

962

(fig. 16.4-2)

Median Filter
The real drawback of these two methods is the lack of control in the choice of the parameters (number of iterations, width of the neighborhood) whereas in the case of kriging, the quantity to be filtered is derived from the model which relies on statistics calculated on actual data, and the
neighborhood is simply a trade-off between accuracy and computing time.

Image Filtering

963

16.5 Comparing the Results


16.5.1 Connected Components
The idea is to use the Interpolate / Interpolation / Grid Operator which offers several functions
linked to the Mathematical Morphology to operate on the image.
The window provides an interpreter which sequentially performs all the transformations listed in
the calculation area. The formula involves:
l

Variables (which are defined in the upper part of the window) through their aliases v* for 1 bit
variables and w* for real variables.

Thresholds which correspond to intervals and are called t*.

Structural elements which define a neighborhood between adjacent cells and are called s*. In
addition to their extension (defined by its radius in the three directions), the user can choose
between the block or the cross element, as described on the next figure:

Cross (X=2; Y=1)


Here the procedure is used to perform two successive tasks:

Block (X=2; Y=1)

964

Using the input variable P denoised, first apply a threshold considering as grain any pixel
whose value is larger than 40 (inclusive); otherwise the pixel corresponds to pore. The result is
stored in a 1 bit variable called grain (P denoised): in fact this variable is a standard selection
variable that can be used in any other Isatis application, where the pores correspond to the
masked samples.

Calculate the connected component and sort them by decreasing size. A connected component
is composed of the set of grain pixels which are connected by the structural element. The result,
which is the rank of the connected component, is stored in the real variable called cc (P
denoised).

(snap. 16.5-1)

The procedure also produces a printout, listing the different connected components by decreasing
size, recalling the cumulative percentage of grain.

Image Filtering

965

The same procedure is also applied on the three resulting images. The following table recalls some
general statistics for the 3 variables:
Resulting Image

P denoised

P median

P smoothed

Total amount of grain

5308

5887

7246

Number of connected components

11

122

5 largest components (in pixels)

1718

1882

1733

1008

1864

1650

978

1167

1257

862

974

842

543

174

The different results are produced as images where the pore is painted in black.

(fig. 16.5-1)

Grains for Kriging Filter

966

(fig. 16.5-2)

Grains for Low Pass Filter

(fig. 16.5-3)

Grains for Median Filter

Image Filtering

967

16.5.2 Cross-sections
The second way to compare the three resulting images consists in representing each variable as the
elevation along one cross-section drawn through the grid.
This is performed using a Section in 2D Grid representation of the Display facility, applied to the 3
variables simultaneously. The parameters of the display are shown below.

(snap. 16.5-2)

Clicking on the Trace... button allows you to specify the trace that will be represented. For instance,
to represent the first diagonal of the image, enter the following vertices:

968

(snap. 16.5-3)

In the Display Box tab of the Contents window, modify the Z Scaling Factor to 0.0005.
The three profiles are shown in the next figure and confirm the previous impressions (P denoised in
red, P median in green and P smoothed in blue).

(fig. 16.5-4)

Boolean

969

17.Boolean
This case study demonstrates some of the large variety of possibilities
offered by the implementation of the Boolean Conditional Simulations.
This simulation technique belongs to the category of Object Based simulations. It consists in dropping objects with different shapes (defined
by the user) in a 3D volume, fulfilling the conditioning information
defined in terms of pores and grains.
Last update: Isatis version 2014

970

17.1 Presentation of the Dataset


This simulation type requires data to be defined on lines in a 3-D space. The file bool_line.hd contains a single vertical line (located at coordinates X=5000m and Y=5000m), constituted of 50 samples defined at a regular spacing of one meter, from 100m to 149m. You must load it using File /
Import / ASCII, creating a new Directory Boolean, and a new File Lines. The ASCII file are located
in the Isatis installation directory/Datasets/Boolean
Set the input-output length units in meters, the X and Y graphical axis units in kilometers and the Z
axis in meters in the Preferences / Study Environment / Units.

(snap. 17.1-1)

Note - The dataset has been drastically reduced to allow a quick and good understanding of the
conditioning and reduce the computing time.
The file refers to a Line Structure which corresponds to the format used for defining several samples gathered along several lines (i.e. boreholes or wells) in the same file. The original file contains
five columns which correspond to:

Boolean

971

the sample number: it is not described in the header and will not be loaded (the software generates it automatically in any case),

the coordinate of the sample gravity center along X,

the coordinate of the sample gravity center along Y,

the coordinate of the sample gravity center along Z,

the variable of interest, called facies which only contains 0 and 1 values. This information is
considered as the geometrical input used for conditioning the boolean simulations. One can
think of 0 for shale and 1 for sandstone to illustrate this concept. In this case study, the word
grain is used for 1 values and the word pore for 0 values.

You need to to go Tools/Convert Gravity Lines to Core Lines since the boolean simulation tool work
only with Core Lines. Convert the Lines using the From Isatis <v9 Lines File option.

(snap. 17.1-2)

The boolean conditional simulation is run on a regular grid which has to be created beforehand
using the File / Create Grid File facility. It consists of a regular 3-D grid containing 201 x 201 x 51

972

nodes, with a mesh of 50 m x 50 m x 1 m and whose origin is located at point (X=0; Y=0;
Z=100m). The user may check in the Data File Manager that the grid extends from 0m to 10000m
both in X and Y, and vertically from 100m to 150m.

(snap. 17.1-3)

Boolean

973

17.2 Boolean Environment


The boolean simulation facility is located in the Interpolate / Conditional Simulations / Boolean
menu. This window requires the definition of several items, presented hereafter.

(snap. 17.2-1)

17.2.1 Conditioning Information


This item refers to the Line file that has been imported. The target variable is obviously the facies
variable. As this variable may contain any numerical value, it is compulsory to specify how this
numerical variable has to be converted into a boolean variable (only 0 and 1 values). This is done
by defining the threshold rule in the sub-window that pops up when pressing the button called Set
Definition.... Here the interval is simply set to [1,1].

974

17.2.2 Output Grid


The variable that will be used to store the result of the Boolean Conditional Simulation has to be
defined: it is called Simulation 1. For each grid node, this variable will contain the resulting indicator value, i.e. a value equal to:
l

1 if the grid node belongs to at least one object,

0 if the node does not belong to any object.

An important point to remember is that, during the simulation process the conditioning data are
assigned to the closest node of the grid. This discretization step implies that the user should worry if
two samples are assigned to the same grid although they carry two different indicator values: an
error message is sent and the procedure is interrupted.
The procedure is also using the value "-1" to designate a grid node which coincides with a conditioning grain value. This is the reason why the output variable is not created as a 1-bit variable: the
software uses the default 32-bit format.

17.2.3 Object Family Definition


This is where the user defines the shapes and dimensions of the objects to be simulated. Different
examples will be given in this case study; for the moment, just press the Add button and enter the
following parameters:

(snap. 17.2-2)

17.2.4 Parameters
The Boolean Conditional Simulation parameters are briefly described hereafter. For more information, the user should refer to the On-Line documentation.

Boolean

975

This Object Based simulation technique consists in dropping objects in a 3D space, so that they
intersect the field (3D grid) to be simulated. Obviously, to have an even spread of objects over the
space, we must take into consideration not only the objects whose center lies within the field to be
simulated, but also those located in its immediate periphery. This periphery is called the Guard
Zone and is defined by its dimensions along the three main axes. Here they have been set to 1800m
along X, 1000m along Y and 2m along Z. This implies that the radius of the objects that we consider should not be larger than these values. Note that no test is performed to ensure this compatibility.
The objects are dropped according to a random process which requires the following parameters:
l

the number of objects to be generated before the simulation stops. Actually, the user has to
define either a Poisson intensity or the related average number of objects (dropped in the dilated
domain) that the simulation aims to reach (1000 here).

the seed used to generate the random values: to generate different outcomes of this boolean conditional simulation technique, it is compulsory to change this seed value before each run. Note
that, if the seed is set to 0, Isatis automatically generates a different seed at each run.
The boolean simulation algorithm relies on a death and birth process which may either create or
delete objects. Therefore, the average number of objects must be considered as a target number
that will be reached only if the simulation is run for a long time. It is common practice, however,
to provide a Maximum Time that will be used to stop the process prematurely (100).
Moreover, this iterative process is performed in two steps: a preliminary step consists in dropping some initial objects at preferential locations simply to fulfill the conditioning data. These
initial objects must disappear during the process.
A Graphic Output enables, after run, to control the evolution of the total number of objects as
well as the proportion of initial objects (not visible without zooming in the lower left corner).

(fig. 17.2-1)

976

17.2.5 Theta Function


The definition of the Theta Function is available pressing the Theta Intensity button.

(snap. 17.2-3)

The density of the objects (regarding their centers) does not have to be even over the whole dilated
domain. The Theta function

h z describes the object density along the vertical axis. It is

defined as log P h (up to its sign) where P h is the probability that some pores extend from
z to z+h, without encountering any grain in the mean time. The value h corresponds to the Minimum
Pore Length defined by the user in terms of layers. Finally, the Theta function can be smoothed by
averaging its value over several consecutive layers. For more information, the user should refer to
the On-Line documentation.
This Theta function might also be derived from the conditioning information (Calculate from Data
button) and displayed graphically. The picture corresponds to a minimum pore length of 1 and no
smoothing (Number of layers averaged set to 1).

Boolean

977

(snap. 17.2-4)

Simultaneously Isatis calculates and represents three statistical quantities that may help analyzing
the quality of the conditioning information and understanding the simulation process:
l

the grain proportion which simply tells us, for a given horizontal grid level, what the proportion
of the conditioning information which corresponds to grain is,

the histogram of the pore length,

the pore survival function which gives to the average residual length for the pores whose length
is larger than a given value, as a function of this value.

Only the Theta function varies when the values for the Minimum Pore Length and the Number of
layers averaged are modified. Set the Minimum Pore Length to 3 and check how the graphic modification.
You can then smooth out this function by setting the number of layers on which the function is calculated to 4.

978

Finally, the values of the Theta variable are displayed in a scrolled editable area, where the user can
modify them by hand. Any value lying between 0 and 1 is admissible. Nevertheless one must
remember that a value of 0 at a given horizontal grid level implies that no object may be generated
at this level. This constraint must at least be compatible with the conditioning information.
For sake of simplicity, the rest of this chapter will be processed setting the Minimum Pore Length to
1 and suppressing any smoothing.

Boolean

979

17.3 Simulations
This paragraph is focused on the description of the Object Law. Each example describes an Object
Family Definition and illustrates the result through the display of a simulation outcome.

17.3.1 Exercise 1
The first trial uses the already described parameters for a single type of parallelepipedic object. All
the parallelepipedic objects have the same geometrical characteristics:
l

extension along X = 1800m

extension along Y = 1000m

extension along Z = 2m

The next figure represents a display of the Z level number 10 of the grid using the Display facility.
A grid node which does not intersect any object (value 0) is painted in black; if at least one object is
intersected (value 1), the color is white. If a conditioning grain coincides with the grid node (value 1), the node is painted in grey. Due to the very fine definition of the grid (the picture corresponds to
200 x 200 grid nodes), the conditioning sample at this level (located in coordinates X=5000m,
Y=5000m) is hardly visible.
10

Simulation 1

9
8

Y (km)

7
6
5
4
3
2
1
0

X (km)

10

(fig. 17.3-1)

17.3.2 Exercise 2
In this exercise, while keeping the parallelepipedic objects, set their vertical thickness equal to 3m.
This run will not function and will return errors specifying that some conditioning grains have not
been covered successfully by objects. In fact, this simply reveals the incompatibility between the
object description and the conditioning data: as a matter of fact, when reading the conditioning data

980

along the line, you can find (several times) the occurrence of the following sequence 0,1,1,0 which
implies the presence of an object between the two conditioning pores which are precisely 3m apart
and are therefore not compatible with the thickness of the objects which are constantly equal to 3m.

17.3.3 Exercise 3
In this second trial, the parallelepipeds are replaced by lower half ellipsoids. The object extension is
kept unchanged, except for the vertical extension which is set to 4m.
10

Simulation 3

9
8

Y (km)

7
6
5
4
3
2
1
0

X (km)

10

(fig. 17.3-2)

The next picture presents a vertical section (XOZ) which intersects the 3D grid at coordinate
Y=5000m (IY = 101). Do not forget to change the projection definition to XOZ in the Camera tab.
The third dimension may be extended for better legibility. This view is convenient to check that the
conditioning is also fulfilled when the sample density is large.

(fig. 17.3-3)

Note that the vertical extension of the ellipsoids of this exercise (4m), though larger than in the previous exercise (3m high parallelepipeds), do not cause any problem as the thickness of ellipsoids is
not constant over the whole object.

Boolean

981

17.3.4 Exercise 4
This exercise simulates lower half sinusoidal objects. This type of object require 6 parameters:
l

the value for half of the period (extension): 1300m,

the amplitude of the sine function: 500m,

the thickness of the sine function: 400m,

the extension of the object along the sine function in the horizontal plane: 4000m,

the extension along Z: 4m,

the rotation angle: 0.


10

Simulation 4

9
8

Y (km)

7
6
5
4
3
2
1
0

10

X (km)

(fig. 17.3-4)

17.3.5 Exercise 5
Several types of objects may be mixed in the same simulation outcome. For instance, combine the
three types of objects already presented and set the following proportions for each family of
objects:
l

10% of parallelepipedic objects (1800m, 1000m, 2m)

60% of lower half ellipsoids (1800m, 1000m, 4m)

30% of lower half sinusoids (1300m, 500m, 400m, 4000m, 4m)

982

10

Simulation 5

9
8
7

Y (km)

6
5
4
3
2
1
0

10

X (km)

(fig. 17.3-5)

17.3.6 Exercise 6
In this exercise, set the object type back to the lower half ellipsoidal objects, in order to demonstrate
the non constant geometrical parameters. Simply modify the definition of the extension along X of
the ellipsoids: instead of being constantly equal to m=1800m, a tolerance s=1000m is defined in
order to allow them to vary uniformly between m-s and m+s.
10

Simulation 6

9
8

Y (km)

7
6
5
4
3
2
1
0

X (km)

9 10
(fig. 17.3-6)

Boolean

983

17.3.7 Exercise 7
This final example consists in playing with the rotation angle. Keeping the initial lower half ellipsoids, allow the rotation angle to vary in an interval centered around 45 degrees with a tolerance
equal to 20 degrees (amplitude: 25 to 65 degrees from E-W direction).
10

Simulation 7

9
8

Y (km)

7
6
5
4
3
2
1
0

X (km)

10

(fig. 17.3-7)

984

Das könnte Ihnen auch gefallen