c exempel av 1-dimensionell vaermeledning c dimension x(10),told(10),t(10),ae(10),aw(10),b(10) c data x/0.,1.,3.,4.,4.5,5*0.0/ c c randvaerden t(1)=1. t(6)=10. c c antal noder ni ni=6 c c goer max. 100 iterationer do n=1,100 c goer en loop oever alla noder (utom randnoderna) do i=2,ni-1 c ber. dx_w if (i.eq.2) then dx_w=0.5*(x(2)-x(1)) else dx_w=0.5*(x(i)-x(i-2)) end if c ber. dx_e if (i.eq.ni-1) then dx_e=0.5*(x(ni-1)-x(ni-2)) else dx_e=0.5*(x(i+1)-x(i-1)) end if c ber. deltax deltax=x(i)-x(i-1) c ***ber. ae,aw,b (konduktivitetskoeff. k=konst=1) ae(i)=1./dx_e aw(i)=1./dx_w b(i)=2.*deltax c ber. ap ap=ae(i)+aw(i) c spara gamla 't' i 'told' told(i)=t(i) t(i)=(ae(i)*t(i+1)+aw(i)*t(i-1)+b(i))/ap end do c beraekna felet fel=0. do i=2,ni-1 fel=fel+abs(t(i)-told(i)) end do write(6,*)'n,fel',n,fel c om felet < 0.001, avbryt beraekningarna if (fel.lt.0.001) goto 100 end do 100 continue c c skriv ut svaret paa filen 'resultat.txt' open(unit=10,file='resultat.txt',status='unknown') write(10,201) do i=1,ni write(10,203)i,t(i) end do 201 format(1x,t5,'nodnummer',t20,'temperatur') 203 format(1x,t7,i3,t20,1pe10.3) close(10) c stop end