00001
00002
00003
00004 #include "cddefines.h"
00005 #include "wind.h"
00006 #include "opacity.h"
00007 #include "dense.h"
00008 #include "taulines.h"
00009 #include "radius.h"
00010 #include "phycon.h"
00011 #include "save.h"
00012
00013
00014 void SaveSpecial(FILE* ioPUN ,
00015 const char *chTime)
00016 {
00017
00018
00019 DEBUG_ENTRY( "SaveSpecial()" );
00020
00021 if( strncmp(chTime,"LAST",4) == 0 )
00022 {
00023
00024 # if 0
00025 long ipISO , nelem , limit , i;
00026 double EdenAbund , fach;
00027 # include "physconst.h"
00028 # include "hydrogenic.h"
00029 PunFeII( ioPUN );*/
00030 ipISO = ipHYDROGEN;
00031 nelem = ipHYDROGEN;
00032
00033
00034
00035 EdenAbund = StatesElemNEW[nelem][nelem-ipH_LIKE][ipH2s].Pop*8.226*pow(1.+nelem,6);
00036 fprintf(ioPUN," 2s = %.3e\n", EdenAbund);
00037
00038
00039 limit = Transitions[ipH_LIKE][nelem][ipH2p][ipH1s].ipCont-1;
00040
00041
00042 for( i=0; i < limit; i++ )
00043 {
00044
00045
00047 fach = iso.As2nu[ipISO][nelem][i]/2.f;
00048 fach *= rfield.anu2[i]/rfield.widflx[i]*EN1RYD;
00049 fprintf(ioPUN,"%.3e\t%.3e\t%.3e\n",
00050 RYDLAM/1e4/rfield.anu[i] , fach , fach*(realnum)EdenAbund );
00051 }
00052 # endif
00053
00054 }
00055 else
00056 {
00057
00058 fprintf(ioPUN,"%.5e\t%.3e\t%.3e\t%.3e\t%.3e\t%.3e\t%.3e\n",
00059 radius.Radius ,
00060 wind.AccelCont ,
00061 wind.fmul ,
00062 opac.opacity_sct[1000],
00063 dense.eden ,
00064 dense.xMassDensity,
00065 dense.gas_phase[ipHYDROGEN] );
00066
00067 # if 0
00068 long int iElecHi=1 , iVibHi=0, iRotHi=0;
00069
00070 if( h2.lgH2ON )
00071 {
00072 ASSERT( H2Lines[iElecHi][iVibHi][iRotHi][0][0][1].ipCont > 0 );
00073
00074 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",
00075 iteration,fnzone,
00076 radius.depth,
00077 H2Lines[iElecHi][iVibHi][iRotHi][0][0][1].Lo->Pop,
00078 H2Lines[iElecHi][iVibHi][iRotHi][0][0][1].Emis->PopOpc,
00079 H2Lines[iElecHi][iVibHi][iRotHi][0][0][1].Emis->opacity,
00080 H2Lines[iElecHi][iVibHi][iRotHi][0][0][1].Emis->TauCon,
00081 H2Lines[iElecHi][iVibHi][iRotHi][0][0][1].Emis->TauIn,
00082 H2Lines[iElecHi][iVibHi][iRotHi][0][0][1].Emis->pump,
00083 radius.drad
00084 );
00085 }
00086 # endif
00087
00088
00089 }
00090 return;
00091 }