cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
conv.h
Go to the documentation of this file.
1 /* This file is part of Cloudy and is copyright (C)1978-2013 by Gary J. Ferland and
2  * others. For conditions of distribution and use see copyright notice in license.txt */
3 
4 #ifndef CONV_H_
5 #define CONV_H_
6 
15 void ConvIterCheck( void );
16 
19 bool ConvInitSolution();
20 
25 int ConvPresTempEdenIoniz(void);
26 
30 int ConvTempEdenIoniz(void);
31 
35 int ConvEdenIoniz(void);
36 
39 int ConvIoniz(void);
40 
45 void ConvFail(
46  /* chMode is one of "pres", "eden", "ioni", "pops", "grai", "temp" */
47  const char chMode[],
48  /* chDetail - string giving details about the convergence failure */
49  const char chDetail[] );
50 
58 int ConvBase(long loopi);
59 
63 int eden_sum(void);
64 
66 void EdenChange( double EdenNew );
67 
68 // Variables monitoring progress of convergence
70 {
84 };
85 
89 struct t_conv {
90 
93 
94 private:
98 
99 public:
101  {
102  m_lgConvIoniz = true;
103  strncpy(m_chConvIoniz, "NONE!!!!!", INPUT_LINE_LENGTH-1);
104  m_BadConvIoniz[0] = 0.0;
105  m_BadConvIoniz[1] = 0.0;
106  }
107  void setConvIonizFail(const char* reason, double oldval, double newval)
108  {
109  m_lgConvIoniz = false;
110  strncpy(m_chConvIoniz, reason, INPUT_LINE_LENGTH-1);
112  m_BadConvIoniz[0] = oldval;
113  m_BadConvIoniz[1] = newval;
114  }
115  bool lgConvIoniz() const
116  {
117  return m_lgConvIoniz;
118  }
119  const char *chConvIoniz() const
120  {
121  return m_chConvIoniz;
122  }
123  double convIonizOldVal() const
124  {
125  return m_BadConvIoniz[0];
126  }
127  double convIonizNewVal() const
128  {
129  return m_BadConvIoniz[1];
130  }
131 
132 
136 
137 private:
140 
141 public:
144 
145 private:
148  double m_BadConvIoniz[2];
149 
150 public:
152  long int nPres2Ioniz;
153 
158 
161  long int limPres2Ioniz;
162 
166  long int nTotalIoniz;
167 
172 
175  bool lgSearch;
176 
179 
183 
187 
190 
194 
197 
200 
203 
205  long int nTotalFailures;
206 
208  long int nTeFail;
209 
212 
214  long int nPreFail;
215 
217  long int nNeFail;
218 
221 
223  long int nIonFail;
224 
226  long int nPopFail;
227 
229  long int nGrainFail;
230 
232  long int nChemFail;
233 
235  long int LimFail;
236 
238  bool lgMap;
239 
241  long int ifailz[12];
242 
245  char chSolverEden[20];
246 
249  char chSolverTemp[20];
250 
253  bool lgBadStop;
254 
256  bool lgAutoIt;
257 
260 
263 
268 
273 
275 
279 
281 
286 
288  double dCmHdT;
289 
291  double sigma_dCmHdT;
292 
296  long int hist_pres_nzone;
297 
301  long int hist_temp_nzone;
302 
303 private:
304  // Variables monitoring progress of convergence
307 public:
308  void incrementCounter( const counter_type type )
309  {
310  ++m_counters[type];
311  ++m_counters_zone[type];
312  }
314  {
315  for( long i=0; i<NTYPES; ++i )
316  m_counters[i] = 0;
317  }
319  {
320  for( long i=0; i<NTYPES; ++i )
321  m_counters_zone[i] = 0;
322  }
323  long getCounter( const long type )
324  {
325  return m_counters[type];
326  }
327  long getCounterZone( const long type )
328  {
329  return m_counters_zone[type];
330  }
331 };
332 
333 
334 extern t_conv conv;
335 
336 #endif /* CONV_H_ */
long int nGrainFail
Definition: conv.h:229
long int nTeFail
Definition: conv.h:208
bool lgConvEden
Definition: conv.h:202
vector< double > hist_pres_density
Definition: conv.h:295
Definition: conv.h:89
double MaxFractionalDensityStepPerIteration
Definition: conv.h:274
bool m_lgConvIoniz
Definition: conv.h:139
double EdenErrorAllowed
Definition: conv.h:267
vector< double > hist_pres_error
Definition: conv.h:295
int ConvBase(long loopi)
Definition: conv_base.cpp:163
char chConvEden[INPUT_LINE_LENGTH]
Definition: conv.h:92
bool lgFirstSweepThisZone
Definition: conv.h:155
char chNotConverged[INPUT_LINE_LENGTH]
Definition: conv.h:135
int eden_sum(void)
Definition: eden_sum.cpp:18
bool lgConvPres
Definition: conv.h:199
void resetCountersZone()
Definition: conv.h:318
realnum BigHeatCoolError
Definition: conv.h:181
t_conv conv
Definition: conv.cpp:5
long int nTotalIoniz_start
Definition: conv.h:171
long int nNeFail
Definition: conv.h:217
long int limPres2Ioniz
Definition: conv.h:161
void resetConvIoniz()
Definition: conv.h:100
realnum GasPhaseAbundErrorAllowed
Definition: conv.h:285
double convIonizNewVal() const
Definition: conv.h:127
bool lgConvPops
Definition: conv.h:143
realnum AverPressError
Definition: conv.h:186
realnum BigPressError
Definition: conv.h:185
realnum AverHeatCoolError
Definition: conv.h:182
bool lgConvIoniz() const
Definition: conv.h:115
void incrementCounter(const counter_type type)
Definition: conv.h:308
bool lgOscilOTS
Definition: conv.h:193
realnum PressureErrorAllowed
Definition: conv.h:272
int ConvTempEdenIoniz(void)
long int nChemFail
Definition: conv.h:232
realnum autocv
Definition: conv.h:262
bool lgBadStop
Definition: conv.h:253
bool lgIonStageTrimed
Definition: conv.h:189
vector< double > hist_temp_cool
Definition: conv.h:300
bool lgSearch
Definition: conv.h:175
long int hist_temp_nzone
Definition: conv.h:301
const char * chConvIoniz() const
Definition: conv.h:119
counter_type
Definition: conv.h:69
bool lgMap
Definition: conv.h:238
long getCounterZone(const long type)
Definition: conv.h:327
long int nPres2Ioniz
Definition: conv.h:152
long int ifailz[12]
Definition: conv.h:241
char m_chConvIoniz[INPUT_LINE_LENGTH]
Definition: conv.h:97
vector< double > hist_pres_current
Definition: conv.h:295
vector< double > hist_temp_temp
Definition: conv.h:300
float realnum
Definition: cddefines.h:107
realnum IonizErrorAllowed
Definition: conv.h:280
const int INPUT_LINE_LENGTH
Definition: cddefines.h:258
double sigma_dCmHdT
Definition: conv.h:291
Definition: conv.h:79
double dCmHdT
Definition: conv.h:288
Definition: conv.h:83
double m_BadConvIoniz[2]
Definition: conv.h:148
realnum HeatCoolRelErrorAllowed
Definition: conv.h:278
long int hist_pres_nzone
Definition: conv.h:296
void ConvFail(const char chMode[], const char chDetail[])
Definition: conv_fail.cpp:18
long int nTotalIoniz
Definition: conv.h:166
Definition: conv.h:73
long int nPreFail
Definition: conv.h:214
long int LimFail
Definition: conv.h:235
bool lgConvTemp
Definition: conv.h:196
void resetCounters()
Definition: conv.h:313
void ConvIterCheck(void)
long m_counters_zone[NTYPES]
Definition: conv.h:306
long getCounter(const long type)
Definition: conv.h:323
long m_counters[NTYPES]
Definition: conv.h:305
bool lgAutoIt
Definition: conv.h:256
realnum failmx
Definition: conv.h:211
realnum AverEdenError
Definition: conv.h:178
bool lgUpdateCouplings
Definition: conv.h:259
int ConvPresTempEdenIoniz(void)
vector< double > hist_temp_heat
Definition: conv.h:300
long int nPopFail
Definition: conv.h:226
int ConvIoniz(void)
Definition: conv_ioniz.cpp:11
void setConvIonizFail(const char *reason, double oldval, double newval)
Definition: conv.h:107
long int nIonFail
Definition: conv.h:223
bool lgLastSweepThisZone
Definition: conv.h:157
void EdenChange(double EdenNew)
Definition: eden_change.cpp:12
char chSolverEden[20]
Definition: conv.h:245
int ConvEdenIoniz(void)
realnum BigEdenError
Definition: conv.h:220
char chSolverTemp[20]
Definition: conv.h:249
double convIonizOldVal() const
Definition: conv.h:123
long int nTotalFailures
Definition: conv.h:205
bool ConvInitSolution()