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")
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")
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")