added equi_delay to the convergence sets

git-svn-id: svn://136.177.114.72/svn_GW/phreeqc3/trunk@10585 1feff8c3-07ed-0310-ac33-dd36852eb9cd
This commit is contained in:
David L Parkhurst 2015-12-16 18:01:29 +00:00
parent 5476982186
commit c6f09779a8

View File

@ -1302,7 +1302,7 @@ set_and_run_wrapper(int i, int use_mix, int use_kinetics, int nsaver,
}
else
{
max_try = 13;
max_try = 14;
}
max_try = (max_tries < max_try) ? max_tries : max_try;
/*max_try = 1; */
@ -1339,14 +1339,6 @@ set_and_run_wrapper(int i, int use_mix, int use_kinetics, int nsaver,
}
else if (j == 4)
{
if (equi_delay > 0)
{
equi_delay = 0;
}
else
{
equi_delay = 1;
}
always_full_pitzer = TRUE;
itmax *= 2;
if (diagonal_scale == TRUE)
@ -1406,6 +1398,22 @@ set_and_run_wrapper(int i, int use_mix, int use_kinetics, int nsaver,
warning_msg(error_string);
}
else if (j == 8)
{
if (use.Get_pp_assemblage_ptr() == NULL) continue;
if (equi_delay > 0)
{
equi_delay = 0;
}
else
{
equi_delay = 1;
}
error_string = sformatf( "Trying delay removal of equilibrium phases %g ...\n",
(double) equi_delay);
warning_msg(error_string);
}
else if (j == 9)
{
if (pitzer_model == TRUE || sit_model == TRUE) continue;
itmax *= 2;
@ -1414,7 +1422,7 @@ set_and_run_wrapper(int i, int use_mix, int use_kinetics, int nsaver,
(double) min_value);
warning_msg(error_string);
}
else if (j == 9)
else if (j == 10)
{
if (pitzer_model == TRUE || sit_model == TRUE) continue;
aqueous_only = 5;
@ -1423,7 +1431,7 @@ set_and_run_wrapper(int i, int use_mix, int use_kinetics, int nsaver,
aqueous_only);
warning_msg(error_string);
}
else if (j == 10)
else if (j == 11)
{
if (pitzer_model == TRUE || sit_model == TRUE) continue;
negative_concentrations = TRUE;
@ -1431,7 +1439,7 @@ set_and_run_wrapper(int i, int use_mix, int use_kinetics, int nsaver,
"Adding inequality to make concentrations greater than zero.\n");
warning_msg(error_string);
}
else if (j == 11)
else if (j == 12)
{
itmax *= 2;
ineq_tol /= 100.;
@ -1439,7 +1447,7 @@ set_and_run_wrapper(int i, int use_mix, int use_kinetics, int nsaver,
(double) ineq_tol);
warning_msg(error_string);
}
else if (j == 12)
else if (j == 13)
{
itmax *= 2;
ineq_tol /= 1000.;