You are on page 1of 9

Praktikum iz elektroenergetike 2

Laboratorijske vježbe 6:

Rješavanje uzemljenja primjenom


softverskih alata

Zadatak: Proračun specifičene otpornosti tla u


podstanici Sri Ishandar
U Tabeli 1 prikazani su podaci mjerenja prividne otpornosti tla u podstanici Sri
Ishandar.

Tabela I. Rezultati mjerenja sa Wennerovom metodom


u podstanici Sri Ishandar

Tačka mjerenja Probno rastojanje Dubina sonde Prividna otpornost


1 2. 0.1 32.3
2 3. 0.1 14.5
3 4. 0.1 6.
4 5. 0.1 4.86
5 8. 0.1 2.4
6 10. 0.1 2.2
7 15. 0.1 1.9
8 2. 0.1 33.8
9 3. 0.1 18.5
10 4. 0.1 15.6
11 5. 0.1 11.6
12 8. 0.1 6.6
13 10. 0.1 4.6
14 15. 0.1 3.1
15 19. 0.1 1.9
16 2. 0.1 16.5
17 3. 0.1 11.5
18 4. 0.1 10.5
19 5. 0.1 8.7
20 8. 0.1 5.1
21 10. 0.1 3.1

Potrebno je primjenom gradijentne metode brzog spuštanja i fortranskog


programa Wenner.f90 obraditi podatke i odrediti specifičnu otpornost gornjeg i
donjeg sloja horizontalno dvoslojnog zemljišta te debljinu gornjeg sloja
zemljišta. Na osnovu listinga programa Wenner.f90 napraviti program u
MATLABU.

Računarski program WENNER.f90


DIMENSION pa(200),pr(200),a(200),rom(200),roa(200),droa1(200),droa2(200),
droh(200),pBB(200),BB(200),R(200),aaa(200),uu(10000),vv(10000)
m = 20
eps=1.e-35
L = 1000000
pi=acos(-1.)
OPEN (5,file = 'Podaci Wenner Sri Iskandar.txt')
READ (5,*) np
write(*,*) 'broj tacki:',np
DO i = 1,np
Write(*,*)‘Unesite index mjerne tacke, probno rastojanje, dubinu sondi,
otpor:’
READ (5,*) nnn,pA(i),pBB(i),pR(i)
write(*,*) nnn,pA(i),pBB(i),pR(i)
aaa(i) = pA(i)
end do
CLOSE (5)
n=0
do 991 i = 1,np
if(pA(i).eq.0.) goto 991
n = n+1
is = 1
suma = pR(i)
do 992 j = 1,np
if ((pA(i).eq.pA(j)).and.(i.NE.j)) then
is = is+1
suma = suma+pR(j)
pA(j) = 0.
end if
992 continue
BB(n) = pBB(i)
A(n) = pA(i)
R(n) = suma/float(is)
991 continue
do 998 i = 1,n
rom(i) = 4.*pi*a(i)*R(i)/( 1. + 2.*a(i)/(sqrt(a(i)**2+4.*bb(i)**2))-
a(i)/(sqrt(a(i)**2+bb(i)**2)))
998 continue
rmin = rom(1)
rmax = rom(1)
DO 111 i = 1,n
rmin = min(rmin,rom(i))
rmax = max(rmax,rom(i))
111 CONTINUE
imax = 1
aamax = a(1)
DO 711 i = 1,n
if (a(i).gt.aamax) then
imax = i
aamax = a(i)
end if
711 CONTINUE
h = 1.
roa1 = 1.2*rmax
roa2 = 0.9*rom(imax)
iC3 = 0
iter = 0
10 ak = (roa2-roa1)/(roa2+roa1)
DO 2 i = 1,n
s = 0.
s1 = 0.
s2 = 0.
s3 = 0.
ee = 1.
DO 63 j = 1,m
ee = ee*ak
d = 1.+(2.*FLOAT(j)*H/a(i))**2
b = 4.+(2.*FLOAT(j)*h/a(i))**2
s = s+ee/sqrt(d)-ee/sqrt(b)
s1 = s1+(1.-FLOAT(j)*(1.-ak**2)/(2.*ak))*(ee/sqrt(d)- ee/sqrt(b))
s2 = s2+(2.*FLOAT(j))*(1.-ak**2)*(ee/sqrt(d)-ee/ sqrt(b))/ak
s3 = s3+FLOAT(j)**2*(ee/sqrt(b**3)-ee/sqrt(d**3))
63 CONTINUE
roa(i) = roa1*(1.+4.*s)
droa1(i) = 1.+4.*s1
droa2(i) = s2*roa1/roa2
droh(i) = 16.*roa1*h*s3/a(i)**2
2 CONTINUE
s4 = 0.
s5 = 0.
s6 = 0.
c1 = 0.
do 64 i = 1,n
c = (rom(i)-roa(i))/rom(i)
s4 = s4+c/rom(i)*droa1(i)
s5 = s5+c/rom(i)*droa2(i)
s6 = s6+c/rom(i)*droh(i)
c1 = c1+c**2
64 continue
dpsi1 = -2.*s4
dpsi2 = -2.*s5
dpsi3 = -2.*s6
delpsi = -0.0005*(ABS(roa1)*(dpsi1**2)+abs(roa2)*
(dpsi2**2)+abs(h)*(dpsi3**2))
if(abs(delpsi)-eps) 100,100,200
100 s7 = 0.
s8 = 0.
amaxeps = abs(rom(1)-roa(1))
do 55 i = 1,n
e = (rom(i)-roa(i))
s7 = s7+e**2
s8 = s8+rom(i)
if(amaxeps-ABS(E)) 89,55,55
89 amaxeps = ABS(E)
55 continue
SG = SQRT(S7/FLOAT(n-1))
art = s8/FLOAT(n)
s9 = 0.
do 66 i = 1,n
66 s9 = s9+(rom(i)-art)**2
f = s7/s9
if (f-1.) 7,7,8
7 rxy = sqrt (1.-f)
WRITE (*,*) iter
write(*,500) roa1,roa2,h,iter
write(*,600) sg,amaxeps,rxy
write(*,500) roa1,roa2,h,iter
write(*,600) sg,amaxeps,rxy
goto 300
8 continue
WRITE (*,*) roa1,roa2,h
goto 300
200 if (iter.eq.l) goto 100
c2 = FLOAT(iter)/1000.
ic2 = ifix(c2)
if(ic2.ne.ic3) then
ic3 = ic2
end if
roa1s = roa1
roa2s = roa2
hs = h
iter = iter+1
IF ((iter/25000)*25000.EQ.iter) write(*,*) iter,' ro1',roa1,' ro2',roa2,' h',h
roa1= roa1-0.0005*abs(roa1)*dpsi1
roa2= roa2-0.0005*abs(roa2)*dpsi2
h = h-0.0005*abs(h)*dpsi3
if (iter.gt.1000) then
g1 = ABS (roa1-roa1s)
g2 = ABS (roa2-roa2s)
g3 = ABS (h-hs)
if(g1.lt.0.0000001.and.g2.lt.0.0000001.and.g3.lt.0.0000001) then
WRITE (*,*) roa1,roa2,h
goto 300
end if
end if
goto 10
300 continue
!--------crtanje funkcije otpornosti
ref = (roa2-roa1)/(roa2+roa1)
xxmin = pA(1)
xxmax = pA(1)
yymax = 0.
DO 451 i = 1,np
xxmin = min (xxmin,pA(i))
xxmax = max (xxmax,pA(i))
romm = 4.*pi*pA(i)*pR(i)/( 1. + 2.*pA(i)/(sqrt(pA(i)**2+4.*pBB(i)**2))-
pA(i)/(sqrt(pA(i)**2+pBB(i)**2)))
yymax = max (yymax,romm)
451 CONTINUE
yymax = max (yymax,roa1,roa2)
dL = xxmax
ncrt = 999
deltaa = dL/FLOAT (ncrt)
DO 1 i = 1,ncrt+1
xx = FLOAT (i-1)*xxmax/FLOAT (ncrt)
if(xx.eq.0.) xx = 1.e-15
uu(i) = FLOAT (i-1)*deltaa
suma = 0.
eee = 1.
do 453 m = 1,40
eee = eee*ref
suma = suma+eee/SQRT (1.+(2.*float(m)*h/xx)**2)- eee/SQRT
(4.+(2.*float(m)*h/xx)**2)
453 continue
vv(i) = roa1*(1.+4.*suma)
1 CONTINUE
IF (ncrt.EQ.0) STOP
OPEN (12,file = 'otpor.scr')
CALL blipmode2D (12)
IF (xxmax.EQ.0.) xxmax = 1.E-10
IF (yymax.EQ.0.) yymax = 1.E-10
CALL line (1.,4.5,8.,4.5,12)
CALL line (1.,4.475,1.,7.5,12)
rr = 2.
DO 3 m = 1,7
CALL line (rr,4.475,rr,4.525,12)
rr = rr+1.
3 CONTINUE
zz = 4.5
DO 4 m = 1,4
CALL line (0.975,zz,1.025,zz,12)
zz = zz+1.
4 CONTINUE
rr = 0.7
tt = 0
DO 5 m = 1,8
CALL text (rr,4.33,0.07,0.,12)
WRITE (12,6) tt
rr = rr+1.
tt = tt+xxmax/7.
5 CONTINUE
DO 47 m = 1,7
zz = 8.2-FLOAT (m)
zzz = FLOAT (4-m)*yymax/3.
CALL text (0.9,zz,0.07,90.,12)
WRITE (12,6) zzz
47 CONTINUE
CALL text (2.5,1.8,0.14,0.,12)
WRITE (12,*) 'Raspodjela specificne otpornosti tla'
CALL text (0.71,4.17,0.125,90.,12)
WRITE (12,*) 'Otpornost [Ohmm]'
rs = 1.
zs = 4.5+vv(1)*3./yymax
CALL color (12,7)
DO 12 j = 2,ncrt
rn = rs+7./FLOAT (ncrt-1)
zn = vv(j)*3./yymax+4.5
gg = 1.+xxmin*7./xxmax
if (rn.gt.gg) CALL line (rs,zs,rn,zn,12)
rs = rn
zs = zn
12 CONTINUE
CALL color (12,3)
DO 13 i = 1,np
xxxx = 1.+pA(i)*7./xxmax
romm = 4.*pi*pA(i)*pR(i)/( 1. + 2.*pA(i)/(sqrt(pA(i)**2+4.*pBB(i)**2))-
pA(i)/(sqrt(pA(i)**2+pBB(i)**2)))
yyyy = 4.5+romm*3./yymax
CALL circle (xxxx,yyyy,0.,0.01,12)
13 CONTINUE
CALL zoom (12)
CLOSE (12)
OPEN (12,file = 'wenner.doc')
write (12,800)
DO 341 i = 1,np
xx = aaa(i)
suma = 0.
eee = 1.
do 153 m = 1,40
eee = eee*ref
suma = suma+eee/SQRT (1.+(2.*float(m)*h/xx)**2)- eee/SQRT
(4.+(2.*float(m)*h/xx)**2)
153 continue
romm = roa1*(1.+4.*suma)
write (12,801) i,aaa(i),pBB(i),pR(i),romm
341 CONTINUE
write (12,*)
write (12,*)
write (12,*) 'Standardna greska regresije: ',sg
write (12,*) 'Maximalna greska aproksimacije: ',amaxeps
write (12,*) 'koeficijent krivolinijske regresije:',rxy
write (12,*)
write (12,*) 'Otpor gornjeg sloja: ',roa1,'[Ohm m]'
write (12,*) 'Otpor donjeg sloja: ',roa2,'[Ohm m]'
write (12,*) 'Koeficijent refleksije: ',ref,'[p.u.]'
write (12,*) 'Debljina gornjeg sloja: ',h,'[m]'
CLOSE (12)
!------------------------------------------------------------------------------------------------------
stop
800 format(//,72(1H-),/,' Isp.tac. Prob.ras. Vis.sond. Otpor',' Izr.otpor.tla',/,'
a[m] b[m] R[Ohm]',' ro[Ohm m]',/,72(1H-))
801 format(i5,' ',f10.2,' ',f10.2,' ',f10.2,' ',f10.2)
500 format('specificna otpornost prvog sloja: ',e8.3,/,'specificna otpornost drugog
sloja:',e8.3,/,'dubina prvog sloja: ',e8.3,/,'broj iteracija: ',I8)
600 FORMAT ('standardna greska regresije: ',e8.3,/,'max. greska aproksimacije:
',e8.3,/,'koeficijent krivol. regresije:',e8.3)
700 FORMAT ('ne postoji korelacija. ',/,'standardna greska regresije:',e8.3,/,'max greska
aproksimacije: ',e8.3)
6 FORMAT (F9.2)
9 FORMAT ('Ukorak =',F7.2,' [V]')
end
!--------podprogram za crtanje bez krizica u AUTO CAD-u u 2-D prostoru
SUBROUTINE blipmode2D (nw)
!------------------------------------------------------------------------------------------------------
WRITE (nw,1) 6.9,5.,10.,0.0001
!------------------------------------------------------------------------------------------------------
RETURN
1 FORMAT ('ERASE'/'W'/'-1000,-1000',/'1000,1000',' '/'VIEWRES'/'Y'/
'100'/'COLOR'/'7'/'BLIPMODE'/'OFF'/'ZOOM'/'C'/,E9.4,',',E9.4,/,E9.4,/'STYLE'/'CO
MPLEX'/'COMPLEX'///////'SNAP'/,E9.4)
END
!---------podprogram za crtanje tanke linije u 2-D prostoru u AUTO CAD-u
SUBROUTINE line (x1,y1,x2,y2,nw)
CHARACTER*1 a,b,c,d
!------------------------------------------------------------------------------------------------------
a = '+'
b = '+'
c = '+'
d = '+'
IF (x1.LT.0.) a = '-'
IF (y1.LT.0.) b = '-'
IF (x2.LT.0.) c = '-'
IF (y2.LT.0.) d = '-'
xx1 = ABS (x1)
yy1 = ABS (y1)
xx2 = ABS (x2)
yy2 = ABS (y2)
WRITE (nw,1) a,xx1,b,yy1,c,xx2,d,yy2
!------------------------------------------------------------------------------------------------------
RETURN
1 FORMAT ('line'/,A1,E9.4,',',A1,E9.4,',0',/, A1,E9.4,',',A1,E9.4,',0',' ')
END
!---------podprogram za crtanje slova u 2-D prostoru u AUTO CAD-u
SUBROUTINE text (x,y,h,angle,nw)
CHARACTER*1 a,b,c
!------------------------------------------------------------------------------------------------------
a = '+'
b = '+'
c = '+'
IF (x.LT.0.) a = '-'
IF (y.LT.0.) b = '-'
IF (angle.LT.0.) c = '-'
xx = ABS (x)
yy = ABS (y)
aangle = ABS (angle)
WRITE (nw,1) a,xx,b,yy,h,c,aangle
!------------------------------------------------------------------------------------------------------
RETURN
1 FORMAT ('TEXT'/,A1,E9.4,',',A1,E9.4,/,E9.4,/,A1,E9.4)
END
!--------podprogram za zadavanje boje slova i texta u AUTO CAD-u
SUBROUTINE color (nw,ncol)
!------------------------------------------------------------------------------------------------------
IF (ncol.LE.9) THEN
WRITE (nw,1) ncol
ELSE
WRITE (nw,2) ncol
END IF
!------------------------------------------------------------------------------------------------------
RETURN
1 FORMAT ('COLOR'/,I1)
2 FORMAT ('COLOR'/,I2)
END
!--------podprogram za crtanje kruznice u 2-D prostoru u ACAD-u
SUBROUTINE circle (xc,yc,zc,r,nw)
CHARACTER*1 a,b,c
!------------------------------------------------------------------------------------------------------
a = '+'
b = '+'
c = '+'
IF (xc.LT.0.) a = '-'
IF (yc.LT.0.) b = '-'
IF (zc.LT.0.) c = '-'
xxc = ABS (xc)
yyc = ABS (yc)
zzc = ABS (zc)
WRITE (nw,1) a,xxc,b,yyc,c,zzc,r
!------------------------------------------------------------------------------------------------------
RETURN
1 FORMAT ('circle'/,A1,E9.4,',',A1,E9.4,',',A1,E9.4,/,E9.4)
END
!---------podprogram za uvecavanje slike u AUTO CAD-u
SUBROUTINE zoom (nw)
!------------------------------------------------------------------------------------------------------
WRITE (nw,1)
!------------------------------------------------------------------------------------------------------
RETURN
1 FORMAT ('ZOOM'/'E')
END

You might also like