source: trunk/LMDZ.TITAN/libf/chimtitan/comp.c @ 1242

Last change on this file since 1242 was 1126, checked in by slebonnois, 11 years ago

SL: update of Titan photochemical module to include computation of chemistry up to 1300 km

File size: 20.4 KB
Line 
1/* comp: Compounds characteristics. */
2/* GCCM */
3
4#include "titan.h"
5
6void comp_(char CORPS[][10], double *CT, double *TEMP, 
7           double *MASS, double MD[][NLEV])
8{
9   int   i,j;
10   char  corps[NC+1][10];
11
12   double m,ma,epsa,sig,siga,p;
13
14   p         = 2.976e07;   /*9 10^7 R / 8 pi */
15
16      /* WARNING BACKGROUND GAS IS N2 */
17
18   ma   = 28.0134e0;               /* mass of background gas in g */
19   siga = 3.798e0;         /* Lennard-Jones length of background gas 1/10 nm */
20   epsa = 71.4e0;       /* Lennard-Jones energy of background gas */
21
22   for( i = 0; i <= NC; i++)
23   {
24     strcpy( corps[i], CORPS[i] );
25     corps[i][strcspn(CORPS[i], " ")] = '\0';
26   }
27
28   for( i = 0; i <= NC-1; i++)
29   {
30      for( j = 0; j <= NLEV-1; j++ ) MD[i][j] = 0.0e0;
31   }
32
33   for( i = 0; i <= NC-1; i++ )
34   {
35      if( strcmp(corps[i], "CH4") == 0 )
36      {
37         MASS[i] = 16.04e0;
38         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
39         sig     = 1.0e-16 * pow( ( siga + 3.758e0 ), 2.0e0 );
40         for( j = 0; j <= NLEV-1; j++ )
41            MD[i][j] = sqrt( p * TEMP[j] * m )
42           / ( CT[j] * sig * omega(TEMP[j],epsa,148.6e0) );
43      }
44      if( strcmp(corps[i], "H") == 0 )
45      {
46         MASS[i] = 1.01e0;
47      }
48      if( strcmp(corps[i], "H2") == 0 )
49      {
50         MASS[i] = 2.0158e0;
51         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
52         sig     = 1.0e-16 * pow( ( siga + 2.827e0 ), 2.0e0 );
53         for( j = 0; j <= NLEV-1; j++ )
54            MD[i][j] = sqrt( p * TEMP[j] * m )
55           / ( CT[j] * sig * omega(TEMP[j],epsa,59.7e0) );
56      }
57      if( strcmp(corps[i], "CH") == 0 )
58      {
59         MASS[i] = 13.02e0;
60         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
61         sig     = 1.0e-16 * pow( ( siga + 3.0e0 ), 2.0e0 );
62         for( j = 0; j <= NLEV-1; j++ )
63            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
64      }
65      if( ( strcmp( corps[i], "CH2" ) == 0 ) || ( strcmp( corps[i], "CH2s" ) == 0 ) )
66      {
67         MASS[i] = 14.03e0;
68         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
69         sig     = 1.0e-16 * pow( ( siga + 3.4e0 ), 2.0e0 );
70         for( j = 0; j <= NLEV-1; j++ )
71            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
72      }
73      if( strcmp(corps[i], "CH3") == 0 )
74      {
75         MASS[i] = 15.03e0;
76         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
77         sig     = 1.0e-16 * pow( ( siga + 3.7e0 ), 2.0e0 );
78         for( j = 0; j <= NLEV-1; j++ )
79            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
80      }
81      if( strcmp(corps[i], "C") == 0 )
82      {
83         MASS[i] = 12.01e0;
84         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
85         sig     = 1.0e-16 * pow( ( siga + 1.4e0 ), 2.0e0 );
86         for( j = 0; j <= NLEV-1; j++ )
87            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
88      }
89      if( strcmp(corps[i], "C2") == 0 )
90      {
91         MASS[i] = 24.02e0;
92         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
93         sig     = 1.0e-16 * pow( ( siga + 3.2e0 ), 2.0e0 );
94         for( j = 0; j <= NLEV-1; j++ )
95            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
96      }
97      if( strcmp(corps[i], "C2H") == 0 )
98      {
99         MASS[i] = 25.03e0;
100         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
101         sig     = 1.0e-16 * pow( ( siga + 3.5e0 ), 2.0e0 );
102         for( j = 0; j <= NLEV-1; j++ )
103            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
104      }
105      if( strcmp(corps[i], "C2H3") == 0 )
106      {
107         MASS[i] = 27.05e0;
108         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
109         sig     = 1.0e-16 * pow( ( siga + 3.8e0 ), 2.0e0 );
110         for( j = 0; j <= NLEV-1; j++ )
111            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
112      }
113      if( strcmp(corps[i], "C2H4") == 0 )
114      {
115         MASS[i] = 28.05e0;
116         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
117         sig     = 1.0e-16 * pow( ( siga + 4.163e0 ), 2.0e0 );
118         for( j = 0; j <= NLEV-1; j++ )
119            MD[i][j] = sqrt( p * TEMP[j] * m )
120           / ( CT[j] * sig * omega(TEMP[j],epsa,224.7e0) );
121      }
122      if( strcmp(corps[i], "C2H2") == 0 )
123      {
124         MASS[i] = 26.04e0;
125         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
126         sig     = 1.0e-16 * pow( ( siga + 4.033e0 ), 2.0e0 );
127         for( j = 0; j <= NLEV-1; j++ )
128            MD[i][j] = sqrt( p * TEMP[j] * m )
129           / ( CT[j] * sig * omega(TEMP[j],epsa,231.8e0) );
130      }
131      if( strcmp(corps[i], "C2H5") == 0 )
132      {
133         MASS[i] = 29.06e0;
134         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
135         sig     = 1.0e-16 * pow( ( siga + 4.0e0 ), 2.0e0 );
136         for( j = 0; j <= NLEV-1; j++ )
137            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
138      }
139      if( strcmp(corps[i], "C2H6") == 0 )
140      {
141         MASS[i] = 30.07e0;
142         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
143         sig     = 1.0e-16 * pow( ( siga + 4.443e0 ), 2.0e0 );
144         for( j = 0; j <= NLEV-1; j++ )
145            MD[i][j] = sqrt( p * TEMP[j] * m )
146           / ( CT[j] * sig * omega(TEMP[j],epsa,215.7e0) );
147      }
148      if( strcmp(corps[i], "C3H2") == 0 )
149      {
150         MASS[i] = 38.05e0;
151         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
152         sig     = 1.0e-16 * pow( ( siga + 4.6e0 ), 2.0e0 );
153         for( j = 0; j <= NLEV-1; j++ )
154            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
155      }
156      if( strcmp(corps[i], "C3H3") == 0 )
157      {
158         MASS[i] = 39.06e0;
159         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
160         sig     = 1.0e-16 * pow( ( siga + 4.7e0 ), 2.0e0 );
161         for( j = 0; j <= NLEV-1; j++ )
162            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
163      }
164      if( ( strcmp(corps[i], "CH2CCH2") == 0 ) || ( strcmp(corps[i], "CH3CCH") == 0 ) )
165      {
166         MASS[i] = 40.07e0;
167         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
168         sig     = 1.0e-16 * pow( ( siga + 4.761e0 ), 2.0e0 );
169         for( j = 0; j <= NLEV-1; j++ )
170            MD[i][j] = sqrt( p * TEMP[j] * m )
171           / ( CT[j] * sig * omega(TEMP[j],epsa,251.8e0) );
172      }
173      if( strcmp(corps[i], "C3H5") == 0 )
174      {
175         MASS[i] = 41.07e0;
176         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
177         sig     = 1.0e-16 * pow( ( siga + 4.78e0 ), 2.0e0 );
178         for( j = 0; j <= NLEV-1; j++ )
179            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
180      }
181      if( strcmp(corps[i], "C3H6") == 0 )
182      {
183         MASS[i] = 42.08e0;
184         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
185         sig     = 1.0e-16 * pow( ( siga + 4.807e0 ), 2.0e0 );
186         for( j = 0; j <= NLEV-1; j++ )
187            MD[i][j] = sqrt( p * TEMP[j] * m )
188           / ( CT[j] * sig * omega(TEMP[j],epsa,248.9e0) );
189      }
190      if( strcmp(corps[i], "C3H7") == 0 )
191      {
192         MASS[i] = 43.09e0;
193         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
194         sig     = 1.0e-16 * pow( ( siga + 5.0e0 ), 2.0e0 );
195         for( j = 0; j <= NLEV-1; j++ )
196            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
197       }
198      if( strcmp(corps[i], "C3H8") == 0 )
199      {
200         MASS[i] = 44.11e0;
201         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
202         sig     = 1.0e-16 * pow( ( siga + 5.118e0 ), 2.0e0 );
203         for( j = 0; j <= NLEV-1; j++ )
204            MD[i][j] = sqrt( p * TEMP[j] * m )
205           / ( CT[j] * sig * omega(TEMP[j],epsa,237.1e0) );
206      }
207      if( strcmp(corps[i], "C4H") == 0 )
208      {
209         MASS[i] = 49.05e0;
210         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
211         sig     = 1.0e-16 * pow( ( siga + 4.2e0 ), 2.0e0 );
212         for( j = 0; j <= NLEV-1; j++ )
213            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
214      }
215      if( ( strcmp(corps[i], "C4H2") == 0 )||( strcmp(corps[i], "C4H2s") == 0 ) )
216      {
217         MASS[i] = 50.06e0;
218         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
219         sig     = 1.0e-16 * pow( ( siga + 4.3e0 ), 2.0e0 );
220         for( j = 0; j <= NLEV-1; j++ )
221            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
222      }
223      if( strcmp(corps[i], "C4H3") == 0 )
224      {
225         MASS[i] = 51.07e0;
226         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
227         sig     = 1.0e-16 * pow( ( siga + 4.4e0 ), 2.0e0 );
228         for( j = 0; j <= NLEV-1; j++ )
229            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
230      }
231      if( strcmp(corps[i], "C4H4") == 0 )
232      {
233         MASS[i] = 52.08e0;
234         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
235         sig     = 1.0e-16 * pow( ( siga + 4.5e0 ), 2.0e0 );
236         for( j = 0; j <= NLEV-1; j++ )
237            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
238      }
239      if( strcmp(corps[i], "C4H5") == 0 )
240      {
241         MASS[i] = 53.07e0;
242         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
243         sig     = 1.0e-16 * pow( ( siga + 4.5e0 ), 2.0e0 );
244         for( j = 0; j <= NLEV-1; j++ )
245            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
246      }
247      if( strcmp(corps[i], "C4H6") == 0 )
248      {
249         MASS[i] = 54.09e0;
250         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
251         sig     = 1.0e-16 * pow( ( siga + 4.6e0 ), 2.0e0 );
252         for( j = 0; j <= NLEV-1; j++ )
253            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
254      }
255      if( strcmp(corps[i], "C4H10") == 0 )
256      {
257         MASS[i] = 58.13e0;
258         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
259         sig     = 1.0e-16 * pow( ( siga + 4.687e0 ), 2.0e0 );
260         for( j = 0; j <= NLEV-1; j++ )
261            MD[i][j] = sqrt( p * TEMP[j] * m )
262           / ( CT[j] * sig * omega(TEMP[j],epsa,531.4e0) );
263      }
264      if( strcmp(corps[i], "C6H") == 0 )
265      {
266         MASS[i] = 73.07e0;
267         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
268         sig     = 1.0e-16 * pow( ( siga + 5.2e0 ), 2.0e0 );
269         for( j = 0; j <= NLEV-1; j++ )
270            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
271      }
272      if( strcmp(corps[i], "C6H2") == 0 )
273      {
274         MASS[i] = 74.08e0;
275         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
276         sig     = 1.0e-16 * pow( ( siga + 5.4e0 ), 2.0e0 );
277         for( j = 0; j <= NLEV-1; j++ )
278            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
279      }
280      if( strcmp(corps[i], "C8H2") == 0 )
281      {
282         MASS[i] = 98.10e0;
283         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
284         sig     = 1.0e-16 * pow( ( siga + 6.0e0 ), 2.0e0 );
285         for( j = 0; j <= NLEV-1; j++ )
286            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
287      }
288      if( strcmp( corps[i], "AC6H6" ) == 0 )
289      {
290         MASS[i] = 78.1136e0;
291         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
292         sig     = 1.0e-16 * pow( ( siga + 5.4e0 ), 2.0e0 );
293         for( j = 0; j <= NLEV-1; j++ )   /* P. G. L. */
294            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
295      }
296      if( ( strcmp( corps[i], "C6H5" ) == 0 ) || ( strcmp( corps[i], "AC6H5" ) == 0 ) )
297      {
298         MASS[i] = 77.1136e0;
299         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
300         sig     = 1.0e-16 * pow( ( siga + 5.4e0 ), 2.0e0 );
301         for( j = 0; j <= NLEV-1; j++ )
302            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
303      }
304      if( strcmp( corps[i], "C6H6" ) == 0 )
305      {
306         MASS[i] = 78.1136e0;
307         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
308         sig     = 1.0e-16 * pow( ( siga + 5.4e0 ), 2.0e0 );
309         for( j = 0; j <= NLEV-1; j++ )
310            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
311      }
312      if( strcmp(corps[i], "N2") == 0 )
313      {
314         MASS[i] = 28.0134e0;
315      }
316      if( strcmp(corps[i], "N4S") == 0 )
317      {
318         MASS[i] = 14.01e0;
319         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
320         sig     = 1.0e-16 * pow( ( siga + 1.5e0 ), 2.0e0 );
321         for( j = 0; j <= NLEV-1; j++ )
322            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
323      }
324      if( strcmp(corps[i], "NH") == 0 )
325      {
326         MASS[i] = 15.01e0;
327         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
328         sig     = 1.0e-16 * pow( ( siga + 3.0e0 ), 2.0e0 );
329         for( j = 0; j <= NLEV-1; j++ )
330            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
331      }
332      if( strcmp(corps[i], "CN") == 0 )
333      {
334         MASS[i] = 26.02e0;
335         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
336         sig     = 1.0e-16 * pow( ( siga + 3.2e0 ), 2.0e0 );
337         for( j = 0; j <= NLEV-1; j++ )
338            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
339      }
340      if( strcmp(corps[i], "HCN") == 0 )
341      {
342         MASS[i] = 27.04e0;
343         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
344         sig     = 1.0e-16 * pow( ( siga + 3.63e0 ), 2.0e0 );
345         for( j = 0; j <= NLEV-1; j++ )
346            MD[i][j] = sqrt( p * TEMP[j] * m )
347           / ( CT[j] * sig * omega(TEMP[j],epsa,569.1e0) );
348      }
349      if( strcmp(corps[i], "H2CN") == 0 )
350      {
351         MASS[i] = 28.05e0;
352         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
353         sig     = 1.0e-16 * pow( ( siga + 3.8e0 ), 2.0e0 );
354         for( j = 0; j <= NLEV-1; j++ )
355            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
356      }
357      if( strcmp(corps[i], "C2N") == 0 )         /* C2N */
358      {
359         MASS[i] = 39.05e0;
360         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
361         sig     = 1.0e-16 * pow( ( siga + 4.0e0 ), 2.0e0 );
362         for( j = 0; j <= NLEV-1; j++ )
363            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
364      }
365      if( strcmp( corps[i], "CHCN" ) == 0 )
366      {
367         MASS[i]   = 39.05e0;
368         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
369         sig     = 1.0e-16 * pow( ( siga + 4.0e0 ), 2.0e0 );
370         for( j = 0; j <= NLEV-1; j++ )
371            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
372      }
373      if( strcmp( corps[i], "CH2CN" ) == 0 )
374      {
375         MASS[i]   = 40.04e0;
376         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
377         sig     = 1.0e-16 * pow( ( siga + 4.0e0 ), 2.0e0 );
378         for( j = 0; j <= NLEV-1; j++ )
379            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
380      }
381      if( strcmp( corps[i], "CH3CN" ) == 0 )
382      {
383         MASS[i]   = 41.05e0;
384         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
385         sig     = 1.0e-16 * pow( ( siga + 4.0e0 ), 2.0e0 );
386         for( j = 0; j <= NLEV-1; j++ )
387            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
388      }
389      if( strcmp( corps[i], "C2H3CN" ) == 0 )
390      {
391         MASS[i]   = 53.06e0;
392         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
393         sig     = 1.0e-16 * pow( ( siga + 4.0e0 ), 2.0e0 );
394         for( j = 0; j <= NLEV-1; j++ )
395            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
396      }
397      if( strcmp(corps[i], "NCCN") == 0 )        /* NCCN */
398      {
399         MASS[i] = 52.04e0;
400         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
401         sig     = 1.0e-16 * pow( ( siga + 4.361e0 ), 2.0e0 );
402         for( j = 0; j <= NLEV-1; j++ )
403            MD[i][j] = sqrt( p * TEMP[j] * m )
404           / ( CT[j] * sig * omega(TEMP[j],epsa,348.6e0) );
405      }
406      if( strcmp(corps[i], "C3N") == 0 )         /* C3N */
407      {
408         MASS[i] = 50.04e0;
409         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
410         sig     = 1.0e-16 * pow( ( siga + 4.4e0 ), 2.0e0 );
411         for( j = 0; j <= NLEV-1; j++ )
412            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
413      }
414      if( strcmp(corps[i], "HC3N") == 0 )        /* HC3N */
415      {
416         MASS[i] = 51.05e0;
417         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
418         sig     = 1.0e-16 * pow( ( siga + 4.5e0 ), 2.0e0 );
419         for( j = 0; j <= NLEV-1; j++ )
420            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
421      }
422      if( strcmp( corps[i], "C4N2" ) == 0 )
423      {
424         MASS[i]   = 76.1e0;
425         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
426         sig     = 1.0e-16 * pow( ( siga + 4.0e0 ), 2.0e0 );
427         for( j = 0; j <= NLEV-1; j++ )
428            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
429      }
430      if( strcmp(corps[i], "H2O") == 0 )       
431      {
432         MASS[i] = 18.02e0;
433         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
434         sig     = 1.0e-16 * pow( ( siga + 2.641e0 ), 2.0e0 );
435         for( j = 0; j <= NLEV-1; j++ )
436            MD[i][j] = sqrt( p * TEMP[j] * m ) 
437           / ( CT[j] * sig * omega(TEMP[j],epsa,809.1e0) );
438      }
439      if( ( strcmp(corps[i], "O3P") == 0 ) || ( strcmp(corps[i], "O1D") == 0 ) )     
440      {
441         MASS[i] = 16.0e0;
442         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
443         sig     = 1.0e-16 * pow( ( siga + 1.4e0 ), 2.0e0 );
444         for( j = 0; j <= NLEV-1; j++ )
445            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
446      }
447      if( strcmp(corps[i], "OH") == 0 )       
448      {
449         MASS[i] = 17.01e0;
450         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
451         sig     = 1.0e-16 * pow( ( siga + 3.0e0 ), 2.0e0 );
452         for( j = 0; j <= NLEV-1; j++ )
453            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
454      }
455      if( strcmp(corps[i], "HO2") == 0 )
456      {
457         MASS[i] = 33.01e0;
458         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
459         sig     = 1.0e-16 * pow( ( siga + 3.5e0 ), 2.0e0 );
460         for( j = 0; j <= NLEV-1; j++ )
461            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
462      }
463      if( strcmp(corps[i], "H2O2") == 0 )
464      {
465         MASS[i] = 33.01e0;
466         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
467         sig     = 1.0e-16 * pow( ( siga + 3.5e0 ), 2.0e0 );
468         for( j = 0; j <= NLEV-1; j++ )
469            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
470      }
471      if( strcmp(corps[i], "O2") == 0 )
472      {
473         MASS[i] = 32.0e0;
474         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
475         sig     = 1.0e-16 * pow( ( siga + 3.7e0 ), 2.0e0 );
476         for( j = 0; j <= NLEV-1; j++ )
477            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
478      }
479      if( strcmp(corps[i], "O3") == 0 )
480      {
481         MASS[i] = 32.0e0;
482         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
483         sig     = 1.0e-16 * pow( ( siga + 3.7e0 ), 2.0e0 );
484         for( j = 0; j <= NLEV-1; j++ )
485            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
486      }
487      if( strcmp(corps[i], "CO") == 0 )         
488      {
489         MASS[i] = 28.01e0;
490         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
491         sig     = 1.0e-16 * pow( ( siga + 3.69e0 ), 2.0e0 );
492         for( j = 0; j <= NLEV-1; j++ )
493            MD[i][j] = sqrt( p * TEMP[j] * m )
494           / ( CT[j] * sig * omega(TEMP[j],epsa,91.7e0) );
495      }
496      if( strcmp(corps[i], "HCO") == 0 )       
497      {
498         MASS[i] = 29.02e0;
499         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
500         sig     = 1.0e-16 * pow( ( siga + 3.7e0 ), 2.0e0 );
501         for( j = 0; j <= NLEV-1; j++ )
502            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
503      }
504      if( strcmp(corps[i], "CO2") == 0 )       
505      {
506         MASS[i] = 44.01e0;
507         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
508         sig     = 1.0e-16 * pow( ( siga + 3.941e0 ), 2.0e0 );
509         for( j = 0; j <= NLEV-1; j++ )
510            MD[i][j] = sqrt( p * TEMP[j] * m ) 
511           / ( CT[j] * sig * omega(TEMP[j],epsa,195.2e0) );
512      }
513      if( strcmp(corps[i], "CH2CO") == 0 )   
514      {
515         MASS[i] = 42.04e0;
516         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
517         sig     = 1.0e-16 * pow( ( siga + 4.5e0 ), 2.0e0 );
518         for( j = 0; j <= NLEV-1; j++ )
519            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
520      }
521      if( strcmp(corps[i], "CH2O") == 0 )   
522      {
523         MASS[i] = 30.03e0;
524         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
525         sig     = 1.0e-16 * pow( ( siga + 3.75e0 ), 2.0e0 );
526         for( j = 0; j <= NLEV-1; j++ )
527            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
528      }
529      if( ( strcmp(corps[i], "CH2OH") == 0 ) || ( strcmp(corps[i], "CH3O") == 0 ) ) 
530      {
531         MASS[i] = 31.04e0;
532         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
533         sig     = 1.0e-16 * pow( ( siga + 3.4e0 ), 2.0e0 );
534         for( j = 0; j <= NLEV-1; j++ )
535            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
536      }
537      if( strcmp(corps[i], "CH3OH") == 0 )       
538      {
539         MASS[i] = 32.042e0;
540         m       = ( ma + MASS[i] ) / ( ma * MASS[i] );
541         sig     = 1.0e-16 * pow( ( siga + 3.626e0 ), 2.0e0 );
542         for( j = 0; j <= NLEV-1; j++ )
543            MD[i][j] = sqrt( p * TEMP[j] * m )
544           / ( CT[j] * sig * omega(TEMP[j],epsa,481.8e0) );
545      }
546   }
547}
Note: See TracBrowser for help on using the repository browser.