00001
00002
00003
00004 #ifndef DYNAMICS_H_
00005 #define DYNAMICS_H_
00006
00008 void DynaIterStart(void);
00009
00011 void DynaIterEnd(void);
00012
00014 void DynaStartZone(void);
00015
00017 void DynaEndZone(void);
00018
00020 void DynaIonize(void);
00021
00025 double DynaPresChngFactor(void);
00026
00028 void DynaZero( void );
00029
00031 void DynaCreateArrays( void );
00032
00036 class Parser;
00037 void ParseDynaWind( Parser &p );
00038
00042 void ParseDynaTime( Parser &p );
00043
00045 void DynaPrtZone( void );
00046
00051 void DynaSave(FILE* ipPnunit , char chJob );
00052
00057 void DynaPunchTimeDep( FILE* ipPnunit , const char *chJob );
00058
00059 realnum DynaFlux(double depth);
00060
00062 EXTERN struct t_dynamics
00063 {
00065 bool lgAdvection;
00066
00068 double Cool_r, Heat_v, dHeatdT;
00069
00070 double Cool(), Heat(), dCooldT();
00071
00073 double CoolMax, HeatMax;
00074
00076 double Rate;
00077
00079 double **Source ;
00080
00082 double ***StatesElemNEW;
00083
00085 double *H2_molec;
00086 double *CO_molec;
00087
00089 bool lgISO[NISO];
00090
00092 bool lgMETALS;
00093
00095 bool lgCoolHeat;
00096
00099 bool lg_coronal_time_init;
00100
00102 bool lgTimeDependentStatic;
00103
00105 double time_elapsed;
00106
00108 bool lgRecom;
00109
00111 bool lgStatic_completed;
00112
00114 double AdvecLengthInit;
00115
00117 double FluxCenter;
00118
00120 char chPresMode[20];
00121
00123 double ShockDepth;
00124
00127 double ShockMach;
00128
00132 long int n_initial_relax;
00133
00135 double FluxScale;
00136
00138 bool lgFluxDScale;
00139
00141 double FluxIndex;
00142
00144 double dRad;
00145
00147 double oldFullDepth;
00148
00158
00159 double convergence_error;
00160
00162 double convergence_tolerance;
00163
00165 double discretization_error;
00166
00168 double error_scale1 , error_scale2;
00169
00172 bool lgSetPresMode;
00173
00175 realnum Upstream_hden;
00176
00178 bool lgEquilibrium;
00179
00180
00181 bool lgTracePrint;
00182
00183
00184
00185 double timestep_init,
00186 timestep,
00187 timestep_stop,
00188 timestep_factor;
00189
00190
00191 } dynamics;
00192
00193 #endif