30 size_t sizeof_sanity =
sizeof( sanity );
41 if( (n=fread( pnt , 1 , sizeof_pnt ,
ioSTATE )) - sizeof_pnt )
43 fprintf(
ioQQQ,
" state_do failed reading state file, wanted %lu got %lu\n",
44 (
unsigned long)sizeof_pnt ,
49 if( (n=fread( &chk_sanity , 1 , sizeof_sanity ,
ioSTATE )) - sizeof_sanity )
51 fprintf(
ioQQQ,
" state_do failed reading sanity par of state file, wanted %lu got %lu\n",
52 (
unsigned long)sizeof_sanity ,
56 if( !
fp_equal( sanity, chk_sanity ) )
58 fprintf(
ioQQQ,
" state_do sanity fails in state file, wanted %g got %g\n",
67 fwrite( pnt , 1 , sizeof_pnt ,
ioSTATE );
69 fwrite( &sanity , 1 , sizeof_sanity ,
ioSTATE );
78 long int ipISO , nelem , ipHi, i ,
83 if( (strcmp( chJob ,
"get" ) == 0) )
88 else if( (strcmp( chJob ,
"put" ) == 0) )
104 sprintf( chIteration ,
"_%li",
iteration );
105 strcat( chFilename , chIteration );
113 fprintf(
ioQQQ,
" Print state quantities, start iso seq \n");
125 for( nelem=ipISO; nelem<
LIMELM; ++nelem )
134 fprintf(
ioQQQ,
" start ISO ipISO= %li, nelem= %li, ipHi %li \n",
138 for( n=0; n< ipHi; ++n )
140 fprintf(
ioQQQ,
" ISO %li %li %li %li %.4e %.4e \n",
141 ipISO , nelem , ipHi , n ,
142 iso_sp[ipISO][nelem].trans(ipHi,n).Emis().TauIn() ,
143 iso_sp[ipISO][nelem].trans(ipHi,n).Emis().TauTot() );
145 fprintf(
ioQQQ,
" end ISO ipISO\n");
151 fprintf(
ioQQQ,
" start Ext ipISO= %li, nelem= %li, got %li \n",
161 fprintf(
ioQQQ,
" Ext %li %li %li %.4e %.4e \n",
163 (*tr).Emis().TauIn() ,
164 (*tr).Emis().TauTot() );
166 fprintf(
ioQQQ,
" end Ext ipISO\n");
176 for( n=0; n< (
nLevel1+1); ++n )
178 fprintf(
ioQQQ,
" Taulines %li %.4e %.4e \n",
190 fprintf(
ioQQQ,
" TauLine2 %li %.4e %.4e \n",
201 for( n=0; n<
nUTA; ++n )
203 fprintf(
ioQQQ,
" UTALines %li %.4e %.4e \n",
215 fprintf(
ioQQQ,
" HFLines %li %.4e %.4e \n",
230 for( n=0; n< ipHi; ++n )
234 fprintf(
ioQQQ,
" Fe2LevN %li %li %.4e %.4e \n",
236 (*tr).Emis().TauIn() ,
237 (*tr).Emis().TauTot() );
248 fprintf(
ioQQQ,
" TauAbsGeo %li %li %.4e \n",
259 fprintf(
ioQQQ,
" TauScatGeo %li %li %.4e \n",
270 fprintf(
ioQQQ,
" TauTotalGeo %li %li %.4e \n",
313 for( ion=0; ion<(
LIMELM+1); ++ion )
320 for( nelem=ipISO; nelem<
LIMELM; ++nelem)
const int INPUT_LINE_LENGTH
bool fp_equal(sys_float x, sys_float y, int n=3)
NORETURN void TotalInsanity(void)
#define DEBUG_ENTRY(funcname)
long int nLyman_malloc[NISO]
FILE * open_data(const char *fname, const char *mode, access_scheme scheme)
diatomics h2("h2", 4100., &hmi.H2_total, Yan_H2_CS)
t_iso_sp iso_sp[NISO][LIMELM]
t_mole_global mole_global
void state_get_put(const char chJob[])
STATIC void state_do(void *pnt, size_t sizeof_pnt)
long int nFeIILevel_malloc
char chPutFilename[INPUT_LINE_LENGTH]
char chGetFilename[INPUT_LINE_LENGTH]
realnum * pres_radiation_lines_curr
TransitionList Fe2LevN("Fe2LevN", &Fe2LevNStates)
vector< vector< TransitionList > > ExtraLymanLines
multi_arr< int, 2 > ipFe2LevN
TransitionList UTALines("UTALines", &AnonStates)
TransitionList TauLine2("TauLine2", &AnonStates)
TransitionList HFLines("HFLines", &AnonStates)
multi_arr< int, 3 > ipExtraLymanLines
TransitionList TauLines("TauLines", &AnonStates)