mirror of
https://git.gfz-potsdam.de/naaice/iphreeqc.git
synced 2025-12-16 16:44:49 +01:00
replaced Find with pp_assemblage_comp_ptr stored in struct unknown
git-svn-id: svn://136.177.114.72/svn_GW/phreeqc3/trunk@7723 1feff8c3-07ed-0310-ac33-dd36852eb9cd
This commit is contained in:
parent
f127add44a
commit
11ef24eb4b
@ -823,7 +823,8 @@ equi_phase_delta(const char *phase_name)
|
||||
}
|
||||
else
|
||||
{
|
||||
cxxPPassemblageComp * comp_ptr = pp_assemblage_ptr->Find(x[j]->pp_assemblage_comp_name);
|
||||
//cxxPPassemblageComp * comp_ptr = pp_assemblage_ptr->Find(x[j]->pp_assemblage_comp_name);
|
||||
cxxPPassemblageComp * comp_ptr = (cxxPPassemblageComp *) x[j]->pp_assemblage_comp_ptr;
|
||||
if (state != TRANSPORT && state != PHAST)
|
||||
{
|
||||
LDBLE delta_moles =
|
||||
@ -2890,14 +2891,17 @@ system_total_elt(const char *total_name)
|
||||
{
|
||||
if (x[i]->type != PP)
|
||||
continue;
|
||||
std::map<std::string, cxxPPassemblageComp>::iterator it;
|
||||
it = pp_assemblage_ptr->Get_pp_assemblage_comps().find(x[i]->pp_assemblage_comp_name);
|
||||
if (it->second.Get_add_formula().size() > 0)
|
||||
//std::map<std::string, cxxPPassemblageComp>::iterator it;
|
||||
//it = pp_assemblage_ptr->Get_pp_assemblage_comps().find(x[i]->pp_assemblage_comp_name);
|
||||
cxxPPassemblageComp * comp_ptr = (cxxPPassemblageComp * ) x[i]->pp_assemblage_comp_ptr;
|
||||
//if (it->second.Get_add_formula().size() > 0)
|
||||
if (comp_ptr->Get_add_formula().size() > 0)
|
||||
continue;
|
||||
count_elts = 0;
|
||||
paren_count = 0;
|
||||
int j;
|
||||
struct phase * phase_ptr = phase_bsearch(x[i]->pp_assemblage_comp_name, &j, FALSE);
|
||||
//struct phase * phase_ptr = phase_bsearch(x[i]->pp_assemblage_comp_name, &j, FALSE);
|
||||
struct phase * phase_ptr = x[i]->phase;
|
||||
add_elt_list(phase_ptr->next_elt, x[i]->moles);
|
||||
if (count_elts > 0)
|
||||
{
|
||||
@ -3161,14 +3165,17 @@ system_total_elt_secondary(const char *total_name)
|
||||
{
|
||||
if (x[i]->type != PP)
|
||||
continue;
|
||||
std::map<std::string, cxxPPassemblageComp>::iterator it;
|
||||
it = pp_assemblage_ptr->Get_pp_assemblage_comps().find(x[i]->pp_assemblage_comp_name);
|
||||
if (it->second.Get_add_formula().size() > 0)
|
||||
//std::map<std::string, cxxPPassemblageComp>::iterator it;
|
||||
//it = pp_assemblage_ptr->Get_pp_assemblage_comps().find(x[i]->pp_assemblage_comp_name);
|
||||
cxxPPassemblageComp * comp_ptr = (cxxPPassemblageComp * ) x[i]->pp_assemblage_comp_ptr;
|
||||
//if (it->second.Get_add_formula().size() > 0)
|
||||
if (comp_ptr->Get_add_formula().size() > 0)
|
||||
continue;
|
||||
count_elts = 0;
|
||||
paren_count = 0;
|
||||
int j;
|
||||
struct phase * phase_ptr = phase_bsearch(x[i]->pp_assemblage_comp_name, &j, FALSE);
|
||||
//struct phase * phase_ptr = phase_bsearch(x[i]->pp_assemblage_comp_name, &j, FALSE);
|
||||
struct phase * phase_ptr = x[i]->phase;
|
||||
add_elt_list(phase_ptr->next_sys_total, x[i]->moles);
|
||||
if (count_elts > 0)
|
||||
{
|
||||
|
||||
@ -809,8 +809,11 @@ struct unknown
|
||||
struct species *s;
|
||||
const char * exch_comp;
|
||||
const char *pp_assemblage_comp_name;
|
||||
void *pp_assemblage_comp_ptr;
|
||||
const char * ss_name;
|
||||
void *ss_ptr;
|
||||
const char * ss_comp_name;
|
||||
void *ss_comp_ptr;
|
||||
int ss_comp_number;
|
||||
int ss_in;
|
||||
const char *surface_comp;
|
||||
|
||||
57
model.cpp
57
model.cpp
@ -407,7 +407,8 @@ check_residuals(void)
|
||||
else if (x[i]->type == PP)
|
||||
{
|
||||
cxxPPassemblage * pp_assemblage_ptr = use.Get_pp_assemblage_ptr();
|
||||
cxxPPassemblageComp * comp_ptr = pp_assemblage_ptr->Find(x[i]->pp_assemblage_comp_name);
|
||||
//cxxPPassemblageComp * comp_ptr = pp_assemblage_ptr->Find(x[i]->pp_assemblage_comp_name);
|
||||
cxxPPassemblageComp * comp_ptr = (cxxPPassemblageComp *) x[i]->pp_assemblage_comp_ptr;
|
||||
if (comp_ptr->Get_add_formula().size() == 0)
|
||||
{
|
||||
if (x[i]->dissolve_only == TRUE)
|
||||
@ -930,11 +931,13 @@ ineq(int in_kode)
|
||||
|
||||
if (x[i]->type == PP)
|
||||
{
|
||||
std::map<std::string, cxxPPassemblageComp>::iterator it;
|
||||
it = pp_assemblage_ptr->Get_pp_assemblage_comps().find(x[i]->pp_assemblage_comp_name);
|
||||
assert(it != pp_assemblage_ptr->Get_pp_assemblage_comps().end());
|
||||
//std::map<std::string, cxxPPassemblageComp>::iterator it;
|
||||
//it = pp_assemblage_ptr->Get_pp_assemblage_comps().find(x[i]->pp_assemblage_comp_name);
|
||||
//assert(it != pp_assemblage_ptr->Get_pp_assemblage_comps().end());
|
||||
cxxPPassemblageComp * comp_ptr = (cxxPPassemblageComp *) x[i]->pp_assemblage_comp_ptr;
|
||||
if (residual[i] > 0e-8 && x[i]->moles > 0 &&
|
||||
it->second.Get_add_formula().size() == 0
|
||||
//it->second.Get_add_formula().size() == 0
|
||||
comp_ptr->Get_add_formula().size() == 0
|
||||
&& x[i]->dissolve_only == FALSE)
|
||||
{
|
||||
/*
|
||||
@ -1118,22 +1121,27 @@ ineq(int in_kode)
|
||||
*/
|
||||
if (x[i]->type == PP)
|
||||
{
|
||||
std::map<std::string, cxxPPassemblageComp>::iterator it;
|
||||
it = pp_assemblage_ptr->Get_pp_assemblage_comps().find(x[i]->pp_assemblage_comp_name);
|
||||
//std::map<std::string, cxxPPassemblageComp>::iterator it;
|
||||
//it = pp_assemblage_ptr->Get_pp_assemblage_comps().find(x[i]->pp_assemblage_comp_name);
|
||||
|
||||
/* not in model, ignore */
|
||||
if (x[i]->phase->in == FALSE)
|
||||
continue;
|
||||
if (it->second.Get_force_equality())
|
||||
continue;
|
||||
cxxPPassemblageComp * comp_ptr = (cxxPPassemblageComp *) x[i]->pp_assemblage_comp_ptr;
|
||||
//if (it->second.Get_force_equality())
|
||||
if (comp_ptr->Get_force_equality())
|
||||
continue;
|
||||
/* Undersaturated and no mass, ignore */
|
||||
//if (x[i]->f > 1e-14/*0e-8*/ && x[i]->moles <= 0
|
||||
if (x[i]->f > 0e-8 && x[i]->moles <= 0
|
||||
&& it->second.Get_add_formula().size() == 0)
|
||||
//&& it->second.Get_add_formula().size() == 0)
|
||||
&& comp_ptr->Get_add_formula().size() == 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
else if (x[i]->f < 0e-8 && x[i]->dissolve_only == TRUE
|
||||
&& (x[i]->moles - it->second.Get_initial_moles() >= 0))
|
||||
//&& (x[i]->moles - it->second.Get_initial_moles() >= 0))
|
||||
&& (x[i]->moles - comp_ptr->Get_initial_moles() >= 0))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -1144,7 +1152,8 @@ ineq(int in_kode)
|
||||
(void *) &(array[i * (count_unknowns + 1)]),
|
||||
(size_t) (count_unknowns + 1) * sizeof(LDBLE));
|
||||
back_eq[l_count_rows] = i;
|
||||
if (it->second.Get_add_formula().size() == 0
|
||||
//if (it->second.Get_add_formula().size() == 0
|
||||
if (comp_ptr->Get_add_formula().size() == 0
|
||||
&& x[i]->dissolve_only == FALSE)
|
||||
{
|
||||
res[l_count_rows] = 1.0;
|
||||
@ -1223,7 +1232,8 @@ ineq(int in_kode)
|
||||
cxxPPassemblageComp *comp_ptr1 = NULL;
|
||||
if (x[i]->type == PP)
|
||||
{
|
||||
comp_ptr = pp_assemblage_ptr->Find(x[i]->pp_assemblage_comp_name);
|
||||
//comp_ptr = pp_assemblage_ptr->Find(x[i]->pp_assemblage_comp_name);
|
||||
comp_ptr = (cxxPPassemblageComp *) x[i]->pp_assemblage_comp_ptr;
|
||||
}
|
||||
if (x[i]->type == SURFACE && x[i]->phase_unknown != NULL)
|
||||
{
|
||||
@ -1314,7 +1324,8 @@ ineq(int in_kode)
|
||||
{
|
||||
if (x[i]->type == PP)
|
||||
{
|
||||
comp_ptr = pp_assemblage_ptr->Find(x[i]->pp_assemblage_comp_name);
|
||||
//comp_ptr = pp_assemblage_ptr->Find(x[i]->pp_assemblage_comp_name);
|
||||
comp_ptr = (cxxPPassemblageComp *) x[i]->pp_assemblage_comp_ptr;
|
||||
/* not in model, ignore */
|
||||
if (x[i]->phase->in == FALSE)
|
||||
continue;
|
||||
@ -1410,7 +1421,8 @@ ineq(int in_kode)
|
||||
{
|
||||
if (x[i]->type == PP)
|
||||
{
|
||||
comp_ptr = pp_assemblage_ptr->Find(x[i]->pp_assemblage_comp_name);
|
||||
//comp_ptr = pp_assemblage_ptr->Find(x[i]->pp_assemblage_comp_name);
|
||||
comp_ptr = (cxxPPassemblageComp *) x[i]->pp_assemblage_comp_ptr;
|
||||
if ((x[i]->moles <= 0.0 && x[i]->f > 0e-8 &&
|
||||
comp_ptr->Get_add_formula().size() == 0)
|
||||
|| x[i]->phase->in == FALSE)
|
||||
@ -3103,7 +3115,8 @@ reset(void)
|
||||
if (x[i]->dissolve_only == TRUE)
|
||||
{
|
||||
assert (x[i]->type == PP);
|
||||
comp_ptr = pp_assemblage_ptr->Find(x[i]->pp_assemblage_comp_name);
|
||||
//comp_ptr = pp_assemblage_ptr->Find(x[i]->pp_assemblage_comp_name);
|
||||
comp_ptr = (cxxPPassemblageComp *) x[i]->pp_assemblage_comp_ptr;
|
||||
assert(comp_ptr);
|
||||
if ((delta[i] < 0.0)
|
||||
&& (-delta[i] >
|
||||
@ -3700,7 +3713,8 @@ reset(void)
|
||||
}
|
||||
else if (x[i]->type == PP)
|
||||
{
|
||||
comp_ptr = pp_assemblage_ptr->Find(x[i]->pp_assemblage_comp_name);
|
||||
//comp_ptr = pp_assemblage_ptr->Find(x[i]->pp_assemblage_comp_name);
|
||||
comp_ptr = (cxxPPassemblageComp *) x[i]->pp_assemblage_comp_ptr;
|
||||
/*if (fabs(delta[i]) > epsilon) converge=FALSE; */
|
||||
if (debug_model == TRUE)
|
||||
{
|
||||
@ -4042,7 +4056,8 @@ residuals(void)
|
||||
}
|
||||
else if (x[i]->type == PP)
|
||||
{
|
||||
cxxPPassemblageComp * comp_ptr = pp_assemblage_ptr->Find(x[i]->pp_assemblage_comp_name);
|
||||
//cxxPPassemblageComp * comp_ptr = pp_assemblage_ptr->Find(x[i]->pp_assemblage_comp_name);
|
||||
cxxPPassemblageComp * comp_ptr = (cxxPPassemblageComp *) x[i]->pp_assemblage_comp_ptr;
|
||||
residual[i] = x[i]->f * LOG_10;
|
||||
if (comp_ptr->Get_add_formula().size() == 0)
|
||||
{
|
||||
@ -5633,7 +5648,8 @@ set_inert_moles(void)
|
||||
for (j = 0; j < count_unknowns; j++)
|
||||
{
|
||||
if (x[j]->type != PP) continue;
|
||||
cxxPPassemblageComp * comp_ptr = pp_assemblage_ptr->Find(x[j]->pp_assemblage_comp_name);
|
||||
//cxxPPassemblageComp * comp_ptr = pp_assemblage_ptr->Find(x[j]->pp_assemblage_comp_name);
|
||||
cxxPPassemblageComp * comp_ptr = (cxxPPassemblageComp *) x[j]->pp_assemblage_comp_ptr;
|
||||
if (comp_ptr->Get_precipitate_only())
|
||||
{
|
||||
x[j]->inert_moles = x[j]->moles;
|
||||
@ -5652,7 +5668,8 @@ unset_inert_moles()
|
||||
for (j = 0; j < count_unknowns; j++)
|
||||
{
|
||||
if (x[j]->type != PP) continue;
|
||||
cxxPPassemblageComp * comp_ptr = pp_assemblage_ptr->Find(x[j]->pp_assemblage_comp_name);
|
||||
//cxxPPassemblageComp * comp_ptr = pp_assemblage_ptr->Find(x[j]->pp_assemblage_comp_name);
|
||||
cxxPPassemblageComp * comp_ptr = (cxxPPassemblageComp *) x[j]->pp_assemblage_comp_ptr;
|
||||
if (comp_ptr->Get_precipitate_only())
|
||||
{
|
||||
x[j]->moles += x[j]->inert_moles;
|
||||
|
||||
27
prep.cpp
27
prep.cpp
@ -198,7 +198,7 @@ quick_setup(void)
|
||||
it = pp_assemblage_ptr->Get_pp_assemblage_comps().find(x[i]->pp_assemblage_comp_name);
|
||||
assert(it != pp_assemblage_ptr->Get_pp_assemblage_comps().end());
|
||||
cxxPPassemblageComp * comp_ptr = &(it->second);
|
||||
|
||||
x[i]->pp_assemblage_comp_ptr = comp_ptr;
|
||||
x[i]->moles = comp_ptr->Get_moles();
|
||||
/* A. Crapsi */
|
||||
x[i]->si = comp_ptr->Get_si();
|
||||
@ -954,7 +954,8 @@ build_jacobian_sums(int k)
|
||||
{
|
||||
if (x[kk]->type != PP)
|
||||
continue;
|
||||
if (x[kk]->phase->name == string_hsave(comp_ptr->Get_phase_name().c_str()))
|
||||
//if (x[kk]->phase->name == string_hsave(comp_ptr->Get_phase_name().c_str()))
|
||||
if (strcmp_nocase(x[kk]->phase->name, comp_ptr->Get_phase_name().c_str()) == 0)
|
||||
break;
|
||||
}
|
||||
|
||||
@ -1012,7 +1013,8 @@ build_jacobian_sums(int k)
|
||||
{
|
||||
if (x[kk]->type != PP)
|
||||
continue;
|
||||
if (x[kk]->phase->name == string_hsave(comp_ptr->Get_phase_name().c_str()))
|
||||
//if (x[kk]->phase->name == string_hsave(comp_ptr->Get_phase_name().c_str()))
|
||||
if (strcmp_nocase(x[kk]->phase->name, comp_ptr->Get_phase_name().c_str()) == 0)
|
||||
break;
|
||||
}
|
||||
if (kk >= 0)
|
||||
@ -1482,7 +1484,8 @@ build_pure_phases(void)
|
||||
*/
|
||||
count_elts = 0;
|
||||
paren_count = 0;
|
||||
cxxPPassemblageComp * comp_ptr = pp_assemblage_ptr->Find(x[i]->pp_assemblage_comp_name);
|
||||
//cxxPPassemblageComp * comp_ptr = pp_assemblage_ptr->Find(x[i]->pp_assemblage_comp_name);
|
||||
cxxPPassemblageComp * comp_ptr = (cxxPPassemblageComp *) x[i]->pp_assemblage_comp_ptr;
|
||||
if (comp_ptr->Get_add_formula().size() > 0)
|
||||
{
|
||||
char * char_name = string_duplicate(comp_ptr->Get_add_formula().c_str());
|
||||
@ -4076,6 +4079,7 @@ setup_pure_phases(void)
|
||||
x[count_unknowns]->type = PP;
|
||||
x[count_unknowns]->description = string_hsave(comp_ptr->Get_name().c_str());
|
||||
x[count_unknowns]->pp_assemblage_comp_name = x[count_unknowns]->description;
|
||||
x[count_unknowns]->pp_assemblage_comp_ptr = comp_ptr;
|
||||
x[count_unknowns]->moles = comp_ptr->Get_moles();
|
||||
x[count_unknowns]->phase = phase_ptr;
|
||||
x[count_unknowns]->si = comp_ptr->Get_si();
|
||||
@ -4116,7 +4120,8 @@ adjust_setup_pure_phases(void)
|
||||
{
|
||||
phase_ptr = x[i]->phase;
|
||||
phase_ptrs.push_back(phase_ptr);
|
||||
cxxPPassemblageComp * comp_ptr = pp_assemblage_ptr->Find(x[i]->pp_assemblage_comp_name);
|
||||
//cxxPPassemblageComp * comp_ptr = pp_assemblage_ptr->Find(x[i]->pp_assemblage_comp_name);
|
||||
cxxPPassemblageComp * comp_ptr = (cxxPPassemblageComp * ) x[i]->pp_assemblage_comp_ptr;
|
||||
si_org = comp_ptr->Get_si_org();
|
||||
if (phase_ptr->p_c > 0 && phase_ptr->t_c > 0)
|
||||
{
|
||||
@ -6067,7 +6072,8 @@ build_min_exch(void)
|
||||
{
|
||||
if (x[k]->type != PP)
|
||||
continue;
|
||||
if (x[k]->phase->name == string_hsave(comp_ref.Get_phase_name().c_str()))
|
||||
//if (x[k]->phase->name == string_hsave(comp_ref.Get_phase_name().c_str()))
|
||||
if (strcmp_nocase(x[k]->phase->name, comp_ref.Get_phase_name().c_str()) == 0)
|
||||
break;
|
||||
}
|
||||
if (j == -1)
|
||||
@ -6197,7 +6203,8 @@ build_min_surface(void)
|
||||
{
|
||||
if (x[k]->type != PP)
|
||||
continue;
|
||||
if (x[k]->phase->name == string_hsave(comp_ptr->Get_phase_name().c_str()))
|
||||
//if (x[k]->phase->name == string_hsave(comp_ptr->Get_phase_name().c_str()))
|
||||
if (strcmp_nocase(x[k]->phase->name, comp_ptr->Get_phase_name().c_str()) == 0)
|
||||
break;
|
||||
}
|
||||
if (j == -1)
|
||||
@ -6324,7 +6331,8 @@ setup_related_surface(void)
|
||||
{
|
||||
if (x[k]->type != PP)
|
||||
continue;
|
||||
if (x[k]->phase->name == string_hsave(comp_ptr->Get_phase_name().c_str()))
|
||||
//if (x[k]->phase->name == string_hsave(comp_ptr->Get_phase_name().c_str()))
|
||||
if (strcmp_nocase(x[k]->phase->name, comp_ptr->Get_phase_name().c_str()) == 0)
|
||||
break;
|
||||
}
|
||||
if (k == -1)
|
||||
@ -6347,7 +6355,8 @@ setup_related_surface(void)
|
||||
{
|
||||
if (x[k]->type != PP)
|
||||
continue;
|
||||
if (x[k]->phase->name == string_hsave(comp_i_ptr->Get_phase_name().c_str()))
|
||||
//if (x[k]->phase->name == string_hsave(comp_i_ptr->Get_phase_name().c_str()))
|
||||
if (strcmp_nocase(x[k]->phase->name, comp_i_ptr->Get_phase_name().c_str()) == 0)
|
||||
break;
|
||||
}
|
||||
if (k == -1)
|
||||
|
||||
@ -1283,7 +1283,8 @@ print_pp_assemblage(void)
|
||||
{
|
||||
if (x[j]->type != PP)
|
||||
continue;
|
||||
cxxPPassemblageComp * comp_ptr = pp_assemblage_ptr->Find(x[j]->pp_assemblage_comp_name);
|
||||
//cxxPPassemblageComp * comp_ptr = pp_assemblage_ptr->Find(x[j]->pp_assemblage_comp_name);
|
||||
cxxPPassemblageComp * comp_ptr = (cxxPPassemblageComp * ) x[j]->pp_assemblage_comp_ptr;
|
||||
/*
|
||||
* Print saturation index
|
||||
*/
|
||||
@ -2646,7 +2647,8 @@ punch_pp_assemblage(void)
|
||||
{
|
||||
if (x == NULL || x[j]->type != PP)
|
||||
continue;
|
||||
cxxPPassemblageComp * comp_ptr = pp_assemblage_ptr->Find(x[j]->pp_assemblage_comp_name);
|
||||
//cxxPPassemblageComp * comp_ptr = pp_assemblage_ptr->Find(x[j]->pp_assemblage_comp_name);
|
||||
cxxPPassemblageComp * comp_ptr = (cxxPPassemblageComp * ) x[j]->pp_assemblage_comp_ptr;
|
||||
/*
|
||||
* Print pure phase assemblage data
|
||||
*/
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user