00001
00002
00003
00004 #include "cddefines.h"
00005 #include "cddrive.h"
00006 #include "coolheavy.h"
00007 #include "ca.h"
00008 #include "fe.h"
00009 #include "rfield.h"
00010 #include "dense.h"
00011 #include "phycon.h"
00012 #include "radius.h"
00013 #include "taulines.h"
00014 #include "trace.h"
00015 #include "lines_service.h"
00016 #include "rt.h"
00017 #include "atomfeii.h"
00018 #include "lines.h"
00019 #include "iso.h"
00020
00021 void lines_lv1_k_zn(void)
00022 {
00023 long int i,
00024 ipnt,
00025 ilo,
00026 ihi;
00027
00028 double eff, fela;
00029
00030 DEBUG_ENTRY( "lines_lv1_k_zn()" );
00031
00032 if( trace.lgTrace )
00033 {
00034 fprintf( ioQQQ, " lines_lv1_k_zn called\n" );
00035 }
00036
00037 PutLine(TauLines[ipKI7745],
00038 " potassium K I 7745 ");
00039
00040 PutLine(TauLines[ipxK03462],
00041 " [K III] 4.62 microns ");
00042
00043 PutLine(TauLines[ipxK04598],
00044 " [KIV] 5.983 min ");
00045
00046 PutLine(TauLines[ipxK04154],
00047 " [KIV] 15.39 micron ");
00048
00049 PutLine(TauLines[ipxK07319],
00050 " [K VII] 3.189 microns ");
00051
00052 PutLine(TauLines[ipCaI4228],
00053 " calcium Ca I 4228 ");
00054
00055 linadd(ca.Cakh,3933,"Ca 2",'i',
00056 " coll excited calcium k+h " );
00057
00058 linadd(ca.Cair,8579,"Ca 2",'i' ,
00059 " infrared triplet ");
00060
00061 linadd(ca.c7306,7306,"Ca 2",'i',
00062 " forbidden lines, 7291+7324 together " );
00063
00064 linadd(ca.dCakh,3933,"Phot",'i' ,
00065 " fraction H Ly-alpha destruction of excited levels ");
00066
00067 linadd(ca.dCaf12,7306,"Phot",'i' ,
00068 " fraction H Ly-alpha destruction of excited levels ");
00069
00070 PntForLine(3934.,"Ca2K",&ipnt);
00071 lindst(ca.Cak,3934,"Ca2K",ipnt,'c',true,
00072 " individual lines from five level atom");
00073
00074
00075 PntForLine(3969.,"Ca2H",&ipnt);
00076 lindst(ca.Cah,3969,"Ca2H",ipnt,'c',true,
00077 " individual lines from five level atom" );
00078
00079
00080 PntForLine(8498.,"Ca2X",&ipnt);
00081 lindst(ca.Cax,8498,"Ca2X",ipnt,'c',true,
00082 " individual lines from five level atom " );
00083
00084
00085 PntForLine(8542.,"Ca2Y",&ipnt);
00086 lindst(ca.Cay,8542,"Ca2Y",ipnt,'c',true,
00087 " individual lines from five level atom" );
00088
00089
00090 PntForLine(8662.,"Ca2Z",&ipnt);
00091 lindst(ca.Caz,8662,"Ca2Z",ipnt,'c',true,
00092 " individual lines from five level atom" );
00093
00094
00095 PntForLine(7291.,"CaF1",&ipnt);
00096 lindst(ca.Caf1,7291,"CaF1",ipnt,'c',true,
00097 " individual lines from five level atom" );
00098
00099
00100 PntForLine(7324.,"CaF2",&ipnt);
00101 lindst(ca.Caf2,7324,"CaF2",ipnt,'c',true,
00102 " individual lines from five level atom" );
00103
00104 eff = dense.eden*dense.xIonDense[ipCALCIUM][2]*5.4e-21/(phycon.te/
00105 phycon.te10/phycon.te10);
00106 linadd(eff,3933,"Rec ",'i',
00107 " recombination contribution to CaII emission" );
00108
00109 PutLine(TauLines[ipTCa3],
00110 " Ca IV 3.2 micron ");
00111
00112
00113 PntForLine(22.08e4,"Sc 2",&ipnt);
00114 lindst(CoolHeavy.Sc22p08m,22.08e4,"Sc 2",ipnt,'c',true,
00115 " Sc II 2.08 (1-3) " );
00116
00117
00118 PntForLine(24.1e4,"Sc 2",&ipnt);
00119 lindst(CoolHeavy.Sc24p1m,24.1e4,"Sc 2",ipnt,'c',true,
00120 " Sc II 4.1 micron (1-2)" );
00121
00122
00123 PntForLine(24.2e4,"Sc 2",&ipnt);
00124 lindst(CoolHeavy.Sc24p2m,24.2e4,"Sc 2",ipnt,'c',true,
00125 " Sc II 4.22 (2-3)" );
00126
00127
00128 PntForLine(3933.,"Sc 3",&ipnt);
00129 lindst(CoolHeavy.Sc33936,3933,"Sc 3",ipnt,'c',true,
00130 " Sc III 3936" );
00131
00132 PutLine(TauLines[ipSc05231],
00133 " [Sc V] 1.46 microns ");
00134
00135
00136 PntForLine(5054.,"Sc 6",&ipnt);
00137 lindst(CoolHeavy.Sc45058,5054,"Sc 6",ipnt,'c',true ,
00138 " Sc VI 5054 (1-2)");
00139
00140
00141 PntForLine(3592.,"Sc 6",&ipnt);
00142 lindst(CoolHeavy.Sc43595,3592,"Sc 6",ipnt,'c',true,
00143 " Sc VI 3595 (2-3)" );
00144
00145
00146 PntForLine(2100.,"Sc 6",&ipnt);
00147 lindst(CoolHeavy.Sc42100,2100,"Sc 6",ipnt,'c',true,
00148 " Sc VI 2100 (1-3)" );
00149
00150 PutLine(TauLines[ipSc13264],
00151 " [Sc 13] 2637.97A");
00152
00153 PntForLine(8823.,"V 3",&ipnt);
00154 lindst(CoolHeavy.V38830,8823,"V 3",ipnt,'c',true ,
00155 " V III 8823 ");
00156
00157
00158 PntForLine(8507.,"V 3",&ipnt);
00159 lindst(CoolHeavy.V38507,8507,"V 3",ipnt,'c',true,
00160 " V III 8507" );
00161
00162 PntForLine(5828.,"Cr 3",&ipnt);
00163 lindst(CoolHeavy.Cr3l21,5828,"Cr 3",ipnt,'c',true,
00164 " [CrIII] multiplet blend at 5828A" );
00165
00166 PntForLine(7267.,"Cr 4",&ipnt);
00167 lindst(CoolHeavy.Cr4l21,7267,"Cr 4",ipnt,'c',true,
00168 " [CrIV] 2 - 1 multiplet blend at 7272" );
00169
00170
00171 PntForLine(6801.,"Cr 4",&ipnt);
00172 lindst(CoolHeavy.Cr4l31,6801,"Cr 4",ipnt,'c',true,
00173 " [CrIV] 3 - 1 multiplet blend at 6806" );
00174
00175
00176 PntForLine(7979.,"Cr 5",&ipnt);
00177 lindst(CoolHeavy.Cr5l21,7979,"Cr 5",ipnt,'c',true,
00178 " [CrV] 2 - 1 multiplet blend at 7985" );
00179
00180 PntForLine(6577.,"Cr 5",&ipnt);
00181 lindst(CoolHeavy.Cr5l31,6577,"Cr 5",ipnt,'c',true,
00182 " [CrV] 3 - 1 multiplet blend at 6582" );
00183
00184
00185 PntForLine(3.75e4,"Cr 5",&ipnt);
00186 lindst(CoolHeavy.Cr5l32,3.75e4,"Cr 5",ipnt,'c',true,
00187 " [CrV] 3 - 2 multiplet blend at 3.75 microns " );
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197 PutLine(TauLines[ipFe1_24m],
00198 " Fe 1 24m ");
00199
00200 PutLine(TauLines[ipFe1_35m],
00201 " Fe 1 35m ");
00202
00203 PutLine(TauLines[ipFe1_54m],
00204 " Fe 1 54m ");
00205
00206 PutLine(TauLines[ipFe1_111m],
00207 " Fe 1 111m ");
00208
00209 PutLine(TauLines[ipFeI3884],
00210 " Fe 1 3884 ");
00211
00212 PutLine(TauLines[ipFeI3729],
00213 " Fe 1 3729 ");
00214
00215 PutLine(TauLines[ipFeI3457],
00216 " Fe 1 3457 ");
00217
00218 PutLine(TauLines[ipFeI3021],
00219 " Fe 1 3021 ");
00220
00221 PutLine(TauLines[ipFeI2966],
00222 " Fe 1 2966 ");
00223
00224 linadd(MAX2(0.,FeII.Fe2_large_cool+FeII.Fe2_UVsimp_cool),0,"Fe2c",'c' ,
00225 "total of all Fe 2 cooling, both simple UV and large atom together ");
00226
00227 linadd(MAX2(0.,-FeII.Fe2_large_cool-FeII.Fe2_UVsimp_cool),0,"Fe2h",'h' ,
00228 "total of all Fe 2 heating, both simple UV and large atom together ");
00229
00230 linadd(FeII.for7,4300,"Fe 2",'i' ,
00231 " Fe 2 forbidden 2-1 transition from Netzer's atom ");
00232
00233 PutLine(TauLines[ipTuv3],
00234 " 2400 in simple Wills, Netzer, Wills FeII");
00235 PutLine(TauLines[ipTr48],
00236 " 6200 in simple Wills, Netzer, Wills FeII");
00237 PutLine(TauLines[ipTFe16],
00238 " 1080 in simple Wills, Netzer, Wills FeII");
00239 PutLine(TauLines[ipTFe26],
00240 " 1500 in simple Wills, Netzer, Wills FeII");
00241 PutLine(TauLines[ipTFe34],
00242 " 11500 in simple Wills, Netzer, Wills FeII");
00243 PutLine(TauLines[ipTFe35],
00244 " 2500 in simple Wills, Netzer, Wills FeII");
00245 PutLine(TauLines[ipTFe46],
00246 " 2300 in simple Wills, Netzer, Wills FeII");
00247 PutLine(TauLines[ipTFe56],
00248 " 8900 in simple Wills, Netzer, Wills FeII");
00249
00250
00251
00252 FeIIAddLines();
00253
00254 for( long ipLo=0; ipLo < (FeII.nFeIILevel_malloc - 1); ipLo++ )
00255 {
00256 for( long ipHi=ipLo + 1; ipHi < FeII.nFeIILevel_malloc; ipHi++ )
00257 {
00258
00259 TransitionProxy tr = Fe2LevN[ipFe2LevN[ipHi][ipLo]];
00260 if( tr.ipCont() > 0 )
00261 PutLine( tr ," Fe II emission" );
00262 }
00263 }
00264
00265
00266 for( i=0; i < nFeIIBands; i++ )
00267 {
00268 double SumBandInward;
00269
00270
00271
00272 eff = FeIISumBand(FeII_Bands[i][1],FeII_Bands[i][2],
00273 &SumBandInward);
00274
00275 linadd(eff,FeII_Bands[i][0],"Fe2b",'i' ,
00276 " total Fe II emission in Fe II bands, as defined in FeII_bands.ini ");
00277 linadd(SumBandInward,FeII_Bands[i][0],"Inwd",'i' ,
00278 " inward Fe II emission in Fe II bands, as defined in FeII_bands.ini ");
00279 }
00280
00281
00282 if( LineSave.ipass > 0 )
00283 {
00284
00285 if( nzone == 1 )
00286 {
00287 for( i=0; i < nFeIIConBins; i++ )
00288 {
00289
00290 FeII_Cont[i][1] = 0.;
00291 FeII_Cont[i][2] = 0.;
00292 }
00293 }
00294
00295
00296 for( i=0; i < nFeIIConBins; i++ )
00297 {
00298 double SumBandInward;
00299
00300
00301
00302 double TotalFeII = FeIISumBand(FeII_Cont[i][0],FeII_Cont[i+1][0],
00303 &SumBandInward);
00304 FeII_Cont[i][1] += (realnum)(SumBandInward*radius.dVeffAper);
00305 FeII_Cont[i][2] += (realnum)(MAX2(0.,TotalFeII-SumBandInward)*radius.dVeffAper);
00306
00307 }
00308 }
00309
00310 PutLine(TauLines[ipT191],
00311 " anomalous Fe 2 transition at 1787, RMT 191");
00312
00313 linadd(fe.Fe3CoolTot,0,"Fe3c",'c' ,
00314 " chng 05 dec 16, FeIII code created by Kevin Blagrave Fe3c 0 - total cooling due to 14-level Fe 3 atom ");
00315
00316
00317
00318
00319
00320
00321
00322
00323
00324
00325
00326
00327
00328
00329
00330
00331
00332
00333
00334
00335
00336
00337
00338
00339
00340
00341
00342
00343
00344
00345
00346
00347
00348
00349
00350
00351
00352
00353
00354
00355
00356
00357
00358
00359
00360
00361
00362
00363
00364
00365
00366
00367
00368
00369
00370
00371
00372
00373
00374
00375
00376
00377
00378
00379
00380
00381
00382
00383
00384
00385
00386
00387
00388
00389
00390
00391
00392
00393
00394
00395
00396
00397
00398
00399
00400
00401
00402
00403
00404
00405
00406
00407
00408
00409 for( ihi=1; ihi<NLFE3; ++ihi )
00410 {
00411 for( ilo=0; ilo<ihi; ++ilo )
00412 {
00413
00414 PntForLine(fe.Fe3_wl[ihi][ilo],"Fe 3",&ipnt);
00415 # if 0
00416 fprintf( ioQQQ,"\t/* FeIII ");
00417 prt_wl( ioQQQ , (realnum)(fe.Fe3_wl[ihi][ilo]+0.5) );
00418 fprintf( ioQQQ," from Blagrave 14-level atom */\n" );
00419 # endif
00420 lindst( fe.Fe3_emiss[ihi][ilo] , (realnum)(fe.Fe3_wl[ihi][ilo]+0.5) , "Fe 3",ipnt,'c',true,
00421 " " );
00422 }
00423 }
00424
00425
00426
00427
00428
00429
00430
00431
00432
00433
00434
00435
00436
00437 PutLine(TauLines[ipT1122]," Fe 3 1122 entire multiplet");
00438
00439 linadd(fe.Fe4CoolTot,0,"Fe4c",'i',
00440 " Fe4c 0 - total cooling due to 12-level Fe 4 atom " );
00441
00442
00443 PntForLine(3096.,"Fe 4",&ipnt);
00444 lindst(fe.fe40401,3096,"Fe 4",ipnt,'c',true,
00445 " Fe 4 3096.A, 4-1 and 5-1 transitions together" );
00446
00447
00448 PntForLine(2836.,"Fe 4",&ipnt);
00449 lindst(fe.fe42836,2836,"Fe 4",ipnt,'c',true,
00450 " Fe 4 2835.7A, 6-1 transition, 4P5/2 - 6S5/2 " );
00451
00452
00453 PntForLine(2829.,"Fe 4",&ipnt);
00454 lindst(fe.fe42829,2829,"Fe 4",ipnt,'c',true,
00455 " Fe 4 2829.4A, 7-1 transition, 4P3/2 - 6S5/2" );
00456
00457
00458 PntForLine(2567.,"Fe 4",&ipnt);
00459 lindst(fe.fe42567,2567,"Fe 4",ipnt,'c',true,
00460 " Fe 4 2567.6+ 2567.4. 11-1 and 12-1 transitions" );
00461
00462
00463 PntForLine(2.774e4,"Fe 4",&ipnt);
00464 lindst(fe.fe41207,2.774e4,"Fe 4",ipnt,'c',true,
00465 " Fe 4 2.774 microns 12-7 transition " );
00466
00467
00468 PntForLine(2.714e4,"Fe 4",&ipnt);
00469 lindst(fe.fe41206,2.714e4,"Fe 4",ipnt,'c',true,
00470 " Fe 4 2.714 microns 12-6 transition " );
00471
00472
00473 PntForLine(2.716e4,"Fe 4",&ipnt);
00474 lindst(fe.fe41106,2.716e4,"Fe 4",ipnt,'c',true,
00475 " Fe 4 2.716 microns 11-6 transition" );
00476
00477
00478 PntForLine(2.806e4,"Fe 4",&ipnt);
00479 lindst(fe.fe41007,2.806e4,"Fe 4",ipnt,'c',true,
00480 " Fe 4 2.806 microns 10-7 transition " );
00481
00482
00483 PntForLine(2.865e4,"Fe 4",&ipnt);
00484 lindst(fe.fe41008,2.865e4,"Fe 4",ipnt,'c',true ,
00485 " Fe 4 2.865 microns 10-8 transition");
00486
00487
00488 PntForLine(2.836e4,"Fe 4",&ipnt);
00489 lindst(fe.fe40906,2.836e4,"Fe 4",ipnt,'c',true,
00490 " Fe 4 2.836 microns 9-6 transition" );
00491
00492
00493 PntForLine(3892.,"Fe 5",&ipnt);
00494 lindst(CoolHeavy.c3892,3892,"Fe 5",ipnt,'c',true,
00495 " Fe 5 3892+3839" );
00496
00497 if( dense.lgElmtOn[ipIRON] )
00498 {
00499
00500
00501 fela = iso_sp[ipH_LIKE][ipIRON].trans(ipH2p,ipH1s).Emis().xIntensity();
00502 }
00503 else
00504 {
00505 fela = 0.;
00506 }
00507
00508
00509
00510
00511 if( dense.lgElmtOn[ipIRON] )
00512 {
00513 lindst((fe.fekcld+fe.fegrain)*1.03e-8+(fe.fekhot+fela)*1.11e-8,1.78f,"FeKa",
00514 iso_sp[ipH_LIKE][ipIRON].trans(ipH2p,ipH1s).ipCont(),'i',false,
00515 "total intensity of K-alpha line" );
00516 }
00517
00518 linadd(fela*1.11e-8,2,"FeLr",'i' ,
00519 " recombination from fully stripped ion ");
00520
00521
00522 linadd((fe.fekhot+fela)*1.11e-8,2,"AugH",'i' ,
00523 " Auger hot iron, assumes case b for H and He-like ");
00524
00525 linadd(fe.fekcld*1.03e-8,2,"AugC",'i',
00526 " Auger production of cold iron, less than or 17 times ionized " );
00527
00528 linadd(fe.fegrain*1.03e-8,2,"AugG",'i' ,
00529 " grain production of cold iron ");
00530
00531 PutLine(TauLines[ipCo11527],
00532 " [Co XI] 5168. A ");
00533
00534 PutLine(TauLines[ipNi1_7m],
00535 " nickel [Ni I] 7m ");
00536
00537
00538
00539
00540 PutLine(TauLines[ipNi1_11m],
00541 " [Ni I] 11m ");
00542
00543
00544
00545 if( trace.lgTrace )
00546 {
00547 fprintf( ioQQQ, " lines_lv1_k_zn returns\n" );
00548 }
00549 return;
00550 }