52 " ConvPresTempEdenIoniz1 entered, will call ConvIoniz to initialize\n");
67 " ConvPresTempEdenIoniz1 ConvIoniz found following converged: Pres;%c, Temp;%c, Eden;%c, Ion:%c, Pops:%c\n",
79 "\n ConvPresTempEdenIoniz1 entering main pressure loop.\n");
89 double TemperatureInitial =
phycon.
te;
104 bool lgPresOscil =
false;
106 long nloop_pres_oscil = 0;
109 double hden_chng = 0.;
111 double dP_chng_factor = 1.;
114 const int LOOPMAX = 100;
116 long LoopMax = LOOPMAX;
122 LoopMax = 10*LOOPMAX;
153 if( lgTempStatus != 0 )
160 double hden_chng_old = hden_chng;
167 enum{DEBUG_LOC=
false};
171 fprintf(
ioQQQ,
"%li\t%.2e\t%.2e\n",
180 if( ( ( hden_chng*hden_chng_old < 0. ) ) && loop > 1 )
185 nloop_pres_oscil = loop;
187 dP_chng_factor =
MAX2(0.1 , dP_chng_factor * 0.75 );
204 " ConvPresTempEdenIoniz1 %.2f l:%3li nH:%.4e ne:%.4e PCurnt:%.4e err:%6.3f%% dP/dn:%.2e Te:%.4e Osc:%c\n",
222 if( loop - nloop_pres_oscil > 4 )
227 if( loop == LoopMax && !lgPresOscil )
229 LoopMax =
MIN2( LOOPMAX, LoopMax*2 );
239 double logRatio = log(targetDensity/startingDensity);
240 long nstep = (long) ceil(fabs(logRatio)/pdelta);
244 double density_change_factor = exp(logRatio/nstep);
246 for (
long i=0; i<nstep; i++)
267 " DensityUpdate called, changing HDEN from %10.3e to %10.3e Set fill fac to %10.3e\n",
290 " ConvPresTempEdenIoniz1 %.2f l:%3li nH:%.4e ne:%.4e PCurnt:%.4e err:%6.3f%% Te:%.4e Osc:%c\n",
#define DEBUG_ENTRY(funcname)
int ConvTempEdenIoniz(void)
void ConvFail(const char chMode[], const char chDetail[])
int ConvPresTempEdenIoniz(void)
void ScaleAllDensities(realnum factor)
realnum scalingDensity(void)
void PresTotCurrent(void)
double pressureZone(const PresMode &presmode)
bool PressureChange(double dP_chng_factor, const PresMode &presmode, solverState &st)
void RT_OTS_ChkSum(long int ipPnt)
void incrementCounter(const counter_type type)
bool lgFirstSweepThisZone
double MaxFractionalDensityStepPerIteration
vector< double > hist_pres_density
vector< double > hist_pres_error
vector< double > hist_pres_current
realnum gas_phase[LIMELM]
bool lgPressureInitialSpecified
void TempChange(double TempNew, bool lgForceUpdate)