00001
00002
00003
00004 #include "cddefines.h"
00005 #include "taulines.h"
00006 #include "radius.h"
00007 #include "h2.h"
00008 #include "punch.h"
00009
00010
00011 void PunchSpecial(FILE* ioPUN ,
00012 const char *chTime)
00013 {
00014
00015
00016 DEBUG_ENTRY( "PunchSpecial()" );
00017
00018 if( strncmp(chTime,"LAST",4) == 0 )
00019 {
00020
00021 # if 0
00022 long ipISO , nelem , limit , i;
00023 double EdenAbund , fach;
00024 # include "physconst.h"
00025 # include "hydrogenic.h"
00026 PunFeII( ioPUN );*/
00027 ipISO = ipHYDROGEN;
00028 nelem = ipHYDROGEN;
00029
00030
00031
00032 EdenAbund = iso.Pop2Ion[ipH_LIKE][nelem][ipH2s]*dense.xIonDense[nelem][nelem+1]*8.226*pow(1.+nelem,6);
00033 fprintf(ioPUN," 2s = %.3e\n", EdenAbund);
00034
00035
00036 limit = EmisLines[ipH_LIKE][nelem][ipH2p][ipH1s].ipCont-1;
00037
00038
00039 for( i=0; i < limit; i++ )
00040 {
00041
00042
00044 fach = iso.As2nu[ipISO][nelem][i]/2.f;
00045 fach *= rfield.anu2[i]/rfield.widflx[i]*EN1RYD;
00046 fprintf(ioPUN,"%.3e\t%.3e\t%.3e\n",
00047 RYDLAM/1e4/rfield.anu[i] , fach , fach*(float)EdenAbund );
00048 }
00049 # endif
00050
00051 }
00052 else
00053 {
00054 long int iElecHi=1 , iVibHi=0, iRotHi=0;
00055
00056 if( h2.lgH2ON )
00057 fprintf(ioPUN,"DEBUG Oion\t%li\t%.2f\t%.2e\t%.2e\t%.2e\t%.2e\t%.2e\t%.2e\t%.2e\t%.2e\n",
00058 iteration,fnzone,
00059 radius.depth,
00060 H2Lines[iElecHi][iVibHi][iRotHi][0][0][1].PopLo,
00061 H2Lines[iElecHi][iVibHi][iRotHi][0][0][1].PopOpc,
00062 H2Lines[iElecHi][iVibHi][iRotHi][0][0][1].opacity,
00063 H2Lines[iElecHi][iVibHi][iRotHi][0][0][1].TauCon,
00064 H2Lines[iElecHi][iVibHi][iRotHi][0][0][1].TauIn,
00065 H2Lines[iElecHi][iVibHi][iRotHi][0][0][1].pump,
00066 radius.drad
00067 );
00068
00069
00070 }
00071
00072 DEBUG_EXIT( "PunchSpecial()" );
00073 return;
00074 }
00075