1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
| IMPLICIT REAL*8(A-H,O-Z)
OPEN(1,FILE='ENERGIE',STATUS='UNKNOWN')
OPEN(2,FILE='COORDONNEES',STATUS='UNKNOWN')
a0=0.016599426877692d0
a1=0.312787459557518d0
a2=-0.16081183620725d0
a3=0.0284109792835631d0
a4=-0.00171760856320689d0
xE1=0.684d0
do 1 i=1,10000
E=i*10.d0
xE=(a4/5.)*(E**5.d0)+(a3/4.)*(E**4.d0)+(a2/3.)*(E**3.d0)
&+(a1/2.)*(E**2.d0)+a0*E
fE=xE/xE1
1 continue
i=1
do 2 j=1,100000
R=rando
do while(fE.lt.R)
i=i+1
write(1,*) 'E'
enddo
2 continue
a=0.5d01
b=a
x=0.
y=0.
R1=rando
if(R1 .gt. 0. .and. R1 .lt. 1.) then
x=x-a+(R1*2.*a)
y=y-b+(R1*2.*b)
endif
write(2,*) 'x,y'
STOP
END
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
c fonction de génération de nombre aléatoire
doubleprecision function rando(ii)
IMPLICIT REAL*8(A-H,O-Z)
common/zufall/iy
data ib,m,iq,ir/16807,2147483647,127773,2836/
ii=0
100 continue
k=iy/iq
l=mod(iy,iq)
n=ib*l-ir*k
if(n.gt.0) then
iy=n
else
iy=n+m
end if
rando=iy/float(m)
if(rando.eq.1.d0.or.rando.eq.0.d0) goto 100
end
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc |
Partager