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

Last change on this file since 3094 was 2099, checked in by jvatant, 6 years ago

Fix a problem of interoperability C-Fortran for picky compilers.
Using iso_c_binding could be a smart future improvement to bring.
--JVO

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