Merge commit 'c995d50084cf598c12bdd45a585c8f67e999dc6e'

This commit is contained in:
Darth Vader 2021-11-09 01:59:49 +00:00
commit d41045470e
4 changed files with 36 additions and 13 deletions

View File

@ -851,7 +851,9 @@ public:
class master* surface_get_psi_master(const char* name, int plane); class master* surface_get_psi_master(const char* name, int plane);
// //
class phase* phase_bsearch(const char* cptr, int* j, int print); class phase* phase_bsearch(const char* cptr, int* j, int print);
#ifdef OBSOLETE
static int phase_compare(const void* ptr1, const void* ptr2); static int phase_compare(const void* ptr1, const void* ptr2);
#endif
int phase_delete(int i); int phase_delete(int i);
class phase* phase_store(const char* name); class phase* phase_store(const char* name);
// //

View File

@ -3361,7 +3361,7 @@ reset(void)
} }
if (old_moles <= 0 && x[i]->moles > 0) if (old_moles <= 0 && x[i]->moles > 0)
{ {
x[i]->master[0]->s->la = log10(x[i]->moles) - 5.; x[i]->master[0]->s->la = log10(x[i]->moles) - 15.;
} }
} }
else if (comp_ptr->Get_phase_name().size() > 0) else if (comp_ptr->Get_phase_name().size() > 0)

View File

@ -1080,7 +1080,7 @@ phase_alloc(void)
phase_init(phase_ptr); phase_init(phase_ptr);
return (phase_ptr); return (phase_ptr);
} }
#ifdef OBSOLETE
/* ---------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- */
int Phreeqc:: int Phreeqc::
phase_compare(const void *ptr1, const void *ptr2) phase_compare(const void *ptr1, const void *ptr2)
@ -1094,7 +1094,7 @@ phase_compare(const void *ptr1, const void *ptr2)
phase_ptr2 = *(const class phase **) ptr2; phase_ptr2 = *(const class phase **) ptr2;
return (strcmp_nocase(phase_ptr1->name, phase_ptr2->name)); return (strcmp_nocase(phase_ptr1->name, phase_ptr2->name));
} }
#endif
/* ---------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- */
int Phreeqc:: int Phreeqc::
phase_compare_string(const void *ptr1, const void *ptr2) phase_compare_string(const void *ptr1, const void *ptr2)

View File

@ -155,18 +155,39 @@ tidy_model(void)
* Sort arrays * Sort arrays
*/ */
/* species */
if (new_model == TRUE) if (new_model == TRUE)
{ {
if (s.size() > 1) qsort(&s[0], s.size(), sizeof(class species *), s_compare); /* species */
if (s.size() > 1) //qsort(&s[0], s.size(), sizeof(class species*), s_compare);
/* master species */ {
if (master.size() > 1) qsort(&master[0], master.size(), sizeof(class master *), master_compare); s.clear();
/* elements */ std::map<std::string, class species*>::iterator it;
if (elements.size() > 1) qsort(&elements[0], elements.size(), sizeof(class element *), element_compare); for (it = species_map.begin(); it != species_map.end(); it++)
/* phases */ {
if (phases.size() > 1) qsort(&phases[0], phases.size(), sizeof(class phase *), phase_compare); s.push_back(it->second);
}
}
/* master species */
if (master.size() > 1) qsort(&master[0], master.size(), sizeof(class master*), master_compare);
/* elements */
if (elements.size() > 1) //qsort(&elements[0], elements.size(), sizeof(class element*), element_compare);
{
elements.clear();
std::map<std::string, class element*>::iterator it;
for (it = elements_map.begin(); it != elements_map.end(); it++)
{
elements.push_back(it->second);
}
} /* phases */
if (phases.size() > 1) //qsort(&phases[0], phases.size(), sizeof(class phase *), phase_compare);
{
phases.clear();
std::map<std::string, class phase*>::iterator it;
for (it = phases_map.begin(); it != phases_map.end(); it++)
{
phases.push_back(it->second);
}
}
} }
/* named_log_k */ /* named_log_k */