1 | subroutine rdf() |
---|
2 | |
---|
3 | |
---|
4 | |
---|
5 | #include "dimensions.h" |
---|
6 | #include "microtab.h" |
---|
7 | #include "clesphys.h" |
---|
8 | |
---|
9 | common/part/v,rayon,vrat,dr,dv |
---|
10 | |
---|
11 | * declaration des variables communes |
---|
12 | * ---------------------------------- |
---|
13 | |
---|
14 | integer xnz,xnrad,xnztop |
---|
15 | integer li,lf,h |
---|
16 | * nrad dans microtab.h |
---|
17 | real v(nrad),rayon(nrad),vrat,dr(nrad),dv(nrad) |
---|
18 | |
---|
19 | * controles |
---|
20 | |
---|
21 | |
---|
22 | |
---|
23 | * definition de la grille de rayon |
---|
24 | * -------------------------------- |
---|
25 | print*,'NOUVELLE GRILLE RAYON BASEE SUR 40 BINS' |
---|
26 | print*,'ATTENTION; TRAVAIL AVEC UN NOUVEAU RAYON' |
---|
27 | print*,' DE MONOMER : ' |
---|
28 | cbase=nint(40./nrad)*1. |
---|
29 | pi=3.1415926 |
---|
30 | rayon(1)=13e-10*2**((cbase/2.-.5)/3.) |
---|
31 | rayon(1)=13e-10*2.**.3333333333333 !<***** |
---|
32 | vrat=2.**cbase |
---|
33 | v(1)=4./3.*pi*rayon(1)**3 |
---|
34 | |
---|
35 | do 9 i=1,nrad-1 |
---|
36 | rayon(i+1)=rayon(1)*vrat**(i/3.) |
---|
37 | v(i+1)=v(1)*vrat**i |
---|
38 | 9 continue |
---|
39 | |
---|
40 | do 10 i=1,nrad |
---|
41 | dv(i)=((vrat-1.)/(vrat+1.))*2.*v(i) |
---|
42 | dr(i)=(2./(vrat+1))**(1./3.)*(vrat**(1./3.)-1.)*rayon(i) |
---|
43 | 10 continue |
---|
44 | |
---|
45 | |
---|
46 | |
---|
47 | |
---|
48 | |
---|
49 | * parametres fractals : rf & df(h) |
---|
50 | *------------------------------------ |
---|
51 | |
---|
52 | rf0=0.066e-6 !Rayon monomere...OBLIGATOIRE meme en df=3! |
---|
53 | !meme si dans ce cas, sa valeur n'a aucune |
---|
54 | !importance |
---|
55 | do h=1,nrad |
---|
56 | rf(h)=rf0 !<********* |
---|
57 | enddo |
---|
58 | |
---|
59 | print*, rf(5),' METRES ' |
---|
60 | |
---|
61 | do h=1,nrad |
---|
62 | df(h)=3. !Df pour petites particules |
---|
63 | if(rayon(h).ge.rf(h)) df(h)=df_GP |
---|
64 | enddo |
---|
65 | |
---|
66 | |
---|
67 | |
---|
68 | aknc=2.92 !<--------Df=3 |
---|
69 | aknc=6.86 !<--------Df=2 |
---|
70 | |
---|
71 | |
---|
72 | print*,'tcorrect=',tcorrect,' tx=',tx |
---|
73 | print*,'Df aerosols /1 a nqtot/' |
---|
74 | write(*,*) (rf(h),h=1,nrad) |
---|
75 | write(*,*) (df(h),h=1,nrad) |
---|
76 | write(*,*) (rayon(h),h=1,nrad) |
---|
77 | |
---|
78 | |
---|
79 | |
---|
80 | return |
---|
81 | end |
---|
82 | |
---|