00001 /* This file is part of Cloudy and is copyright (C)1978-2008 by Gary J. Ferland and 00002 * others. For conditions of distribution and use see copyright notice in license.txt */ 00003 00004 #ifndef _DYNAMICS_H_ 00005 #define _DYNAMICS_H_ 00006 00008 void DynaEndIter(void); 00009 00011 void DynaStartZone(void); 00012 00014 void DynaEndZone(void); 00015 00017 void DynaIonize(void); 00018 00022 double DynaPresChngFactor(void); 00023 00025 void DynaZero( void ); 00026 00028 void DynaCreateArrays( void ); 00029 00033 void ParseDynaWind( char *chCard ); 00034 00038 void ParseDynaTime( char *chCard ); 00039 00041 void DynaPrtZone( void ); 00042 00047 void DynaPunch(FILE* ipPnunit , char chJob ); 00048 00053 void DynaPunchTimeDep( FILE* ipPnunit , const char *chJob ); 00054 00055 realnum DynaFlux(double depth); 00056 00058 EXTERN struct t_dynamics 00059 { 00061 bool lgAdvection; 00062 00064 double Cool, Heat, dCooldT, dHeatdT; 00065 00067 double CoolMax, HeatMax; 00068 00070 double Rate; 00071 00073 double **Source /*[LIMELM][LIMELM+2]*/; 00074 00076 double *H2_molec; 00077 double *CO_molec; 00078 00080 bool lgISO[NISO]; 00081 00083 bool lgMETALS; 00084 00086 bool lgCoolHeat; 00087 00090 bool lg_coronal_time_init; 00091 00093 bool lgStatic; 00094 00096 double time_elapsed; 00097 00099 bool lgRecom; 00100 00102 bool lgStatic_completed; 00103 00105 double AdvecLengthInit; 00106 00108 double FluxCenter; 00109 00111 char chPresMode[20]; 00112 00114 double ShockDepth; 00115 00118 double ShockMach; 00119 00123 long int n_initial_relax; 00124 00126 double FluxScale; 00127 00129 bool lgFluxDScale; 00130 00132 double FluxIndex; 00133 00135 double dRad; 00136 00138 double oldFullDepth; 00139 00149 /* the error from comparing this iteration with the previous one */ 00150 double convergence_error; 00151 00153 double convergence_tolerance; 00154 00156 double discretization_error; 00157 00159 double error_scale1 , error_scale2; 00160 00163 bool lgSetPresMode; 00164 00166 realnum dDensityDT; 00167 00168 } dynamics; 00169 00170 #endif /* _DYNAMICS_H_ */