How to perform a Substitution Simulation

How to use RGeostats package step-by-step.
Direct access to Tutorial index and Frequently Asked Questions

How to perform a Substitution Simulation

Postby helene beucher » Tue Aug 19, 2014 4:28 pm

To know more about the substitution model used to simulate facies, see Ch. Lantuéjoul Book "Geostatistical Simulations - Models and Algorithms" (Springer)
In the following examples, 4 facies with same probabilities are generated.
The time computing can be very long as the target grid is quite large. This even increases when going from the simple case to the heterogeneous realizations. But this choice is meant to provide esthetic and convincing simulation outcomes.

Definition of the environment, i.e.the grid (gridtest), the color scale (pal4f) and the transition probabilities (TP):
Code: Select all
gridtest=db.create(dx=c(1,1),nx=c(600,300))
pal4f=c("blue","green","orange","red")
TP=matrix(c(.7,.1,.1,.1,.1,.7,.1,.1,.1,.1,.7,.1,.1,.1,.1,.7),nrow=4,ncol=4,byrow=T)
x11(width=5.5,height=4)

Isotropic simulation:
Code: Select all
a=simsub(gridtest,nfacies=4,seed=76543,intensity=0.8,trans=TP,flag.orient=F)
plot(a,facies=4,col=pal4f,asp=1,title="Substitution Isotrope")

Image

Oriented simulation:
Code: Select all
a=simsub(gridtest,nfacies=4,seed=12345,intensity=0.8,trans=TP,flag.orient=T,vector=c(0,1),factor=.8)
plot(a,facies=4,col=pal4f,asp=1,title="Substitution Anisotrope")

Image
Tests on possible parameter variations. The variabilities can concern either the desorientation factor
or the desorientation direction along X or in 2D.

Variations:
Code: Select all
gridtest=db.add(gridtest,factlin=x1*.3/600)
a=simsub(gridtest,nfacies=4,seed=12345,intensity=0.8,trans=TP,flag.orient=T,vector=c(0,1),colfac="factlin")
plot(a,facies=4,col=pal4f,asp=1,title="Substitution Heterogeneous_1")

gridtest=db.add(gridtest,diry=1)
gridtest=db.add(gridtest,aux=(x1-150)/450)
gridtest=db.add(gridtest,dirx1=-1+8*(aux*aux-aux^4))
a=simsub(gridtest,nfacies=4,seed=12345,intensity=0.8,trans=TP,flag.orient=T,colax="dirx1",colay="diry",factor=.8)
plot(a,facies=4,col=pal4f,asp=1,title="Substitution Heterogeneous_2")

gridtest=db.add(gridtest,dirx2=-1+8*((x2/300)*aux*aux-aux^4))
a=simsub(gridtest,nfacies=4,seed=12345,intensity=0.8,trans=TP,flag.orient=T,colax="dirx2",colay="diry",factor=.8)
plot(a,facies=4,col=pal4f,asp=1,title="Substitution Heterogeneous_3")

gridtest=db.add(gridtest,fact2D=(.2+ifelse(x1>250,.4*(x1-250)/250,0)+ifelse(x2>80,.4*(x2-80)/80,0))/2)
a=simsub(gridtest,nfacies=4,seed=12345,intensity=0.8,trans=TP,flag.orient=T,vector=c(0,1),colfac="fact2D")
plot(a,facies=4,col=pal4f,asp=1,title="Substitution Heterogeneous_4")


ImageImage
ImageImage
helene beucher
 
Posts: 6
Joined: Fri Sep 21, 2012 3:50 pm

Return to Tutorials and FAQ

Who is online

Users browsing this forum: No registered users and 5 guests

cron