You are on page 1of 2

new

;impgrid malla.flac3d
set fish safe off
def read_grd
array aaa(500000) bbb(500000)
dummy=open(fname,0,1)
nlineas=read(aaa,50000)
dummy=close
;;all these parameters are read from the file exported from Surfer
ni=parse(aaa(2),1) ;;number of x elements in the Surfer grid
nj=parse(aaa(2),2) ;;number of y elements in the Surfer grid
xtmin=parse(aaa(3),1)
xtmax=parse(aaa(3),2)
ytmin=parse(aaa(4),1)
ytmax=parse(aaa(4),2)
xtable(100*nsurf,1)=ytmin ;nsurf+100
ytable(100*nsurf,1)=1
xtable(100*nsurf,2)=ytmax
ytable(100*nsurf,2)=nj
nlt=ni/10+1 ;;number of lines per table, 10 is the maximum number of columns pe
r line
loop nt(1,nj)
l0=6+(nt-1)*(nlt+1) ;;6 lines at the beginning of the file corresponding to
grid information
loop i(1,ni)
xx=xtmin+(xtmax-xtmin)*float(i-1)/float(ni-1)
linea=l0+(i-1)/10
pos=i-10*((i-1)/10)
xtable(1000*nsurf+nt,i)=xx
ytable(1000*nsurf+nt,i)=parse(aaa(linea),pos)
end_loop
end_loop
end
set fname='out2.txt' ;name of Surfer file to be read
set nsurf=1
read_grd
def dibu_surf(pvp)
array triada(3)
loop i (40,60) ;(1,ni-1)
loop j(1,nj-1)
nt1=1000*nsurf+j
nt2=nt1+1
x1=xtable(nt1,i)
x2=xtable(nt1,i+1)
x3=x1
x4=x2
y1=ytmin+(ytmax-ytmin)*float(j-1)/float(nj-1)
y2=y1
y3=ytmin+(ytmax-ytmin)*float(j)/float(nj-1)
y4=y3
z1=ytable(nt1,i)
z2=ytable(nt1,i+1)
z3=ytable(nt2,i)
z4=ytable(nt2,i+1)
if y1>-1
triada(3)=vector(x1,y1,z1)
triada(2)=vector(x2,y2,z2)
triada(1)=vector(x3,y3,z3)
dummy=fill_poly(pvp,triada,3)
triada(3)=vector(x2,y2,z2)
triada(2)=vector(x4,y4,z4)
triada(1)=vector(x3,y3,z3)
dummy=fill_poly(pvp,triada,3)
end_if
end_loop
end_loop
end
;********
def parm
x_min=-200
x_max=200
y_min=-200
y_max=200
z_min=767.5
z_max=773.5
z_n=z_max-z_min
end
parm
gen zone bric p0 x_min y_min z_min p1 x_max y_min z_min p2 x_min y_max z_min p3
x_min y_min z_min size 81 81 z_n

You might also like