mirror of
https://git.gfz-potsdam.de/naaice/iphreeqc.git
synced 2025-12-16 16:44:49 +01:00
Worked through kinetics to remove PHREEQC_PTR.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/branches/ErrorHandling@5649 1feff8c3-07ed-0310-ac33-dd36852eb9cd
This commit is contained in:
parent
12d62e8e54
commit
7c9913195a
@ -46,7 +46,7 @@ cxxKineticsComp::cxxKineticsComp(struct kinetics_comp *kinetics_comp_ptr, PHRQ_i
|
||||
PHRQ_base(io),
|
||||
namecoef(kinetics_comp_ptr->list, kinetics_comp_ptr->count_list)
|
||||
{
|
||||
this->set_rate_name(kinetics_comp_ptr->rate_name);
|
||||
this->Set_rate_name(kinetics_comp_ptr->rate_name);
|
||||
tol = kinetics_comp_ptr->tol;
|
||||
m = kinetics_comp_ptr->m;
|
||||
m0 = kinetics_comp_ptr->m0;
|
||||
@ -61,6 +61,7 @@ cxxKineticsComp::~cxxKineticsComp()
|
||||
{
|
||||
}
|
||||
|
||||
#ifdef MOVE_TO_STRUCTURES
|
||||
struct kinetics_comp *
|
||||
cxxKineticsComp::cxxKineticsComp2kinetics_comp(PHREEQC_PTR_ARG_COMMA std::list < cxxKineticsComp >
|
||||
&el)
|
||||
@ -111,6 +112,7 @@ struct kinetics_comp *
|
||||
}
|
||||
return (kinetics_comp_ptr);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef SKIP
|
||||
void
|
||||
|
||||
@ -17,7 +17,7 @@ public:
|
||||
cxxKineticsComp(struct kinetics_comp *, PHRQ_io *io=NULL);
|
||||
~cxxKineticsComp();
|
||||
|
||||
static struct kinetics_comp *cxxKineticsComp2kinetics_comp(PHREEQC_PTR_ARG_COMMA std::list < cxxKineticsComp > &el);
|
||||
//static struct kinetics_comp *cxxKineticsComp2kinetics_comp(PHREEQC_PTR_ARG_COMMA std::list < cxxKineticsComp > &el);
|
||||
|
||||
void dump_xml(std::ostream & os, unsigned int indent = 0) const;
|
||||
|
||||
@ -25,11 +25,11 @@ public:
|
||||
|
||||
void read_raw(CParser & parser, bool check = true);
|
||||
|
||||
const std::string &get_rate_name() const
|
||||
const std::string &Get_rate_name() const
|
||||
{
|
||||
return this->rate_name;
|
||||
}
|
||||
void set_rate_name(char * s)
|
||||
void Set_rate_name(char * s)
|
||||
{
|
||||
if (s != NULL)
|
||||
this->rate_name = std::string(s);
|
||||
@ -37,6 +37,13 @@ public:
|
||||
this->rate_name.clear();
|
||||
}
|
||||
|
||||
cxxNameDouble &Get_namecoef(void) {return namecoef;};
|
||||
double Get_tol(void) {return tol;};
|
||||
double Get_m(void) {return m;};
|
||||
double Get_m0(void) {return m0;};
|
||||
double Get_moles(void) {return moles;};
|
||||
std::vector < double > &Get_d_params(void) {return d_params;};
|
||||
|
||||
#ifdef USE_MPI
|
||||
void mpi_unpack(int *ints, int *ii, double *doubles, int *dd);
|
||||
void mpi_pack(std::vector < int >&ints, std::vector < double >&doubles);
|
||||
|
||||
@ -34,17 +34,14 @@ class cxxNameDouble:public
|
||||
~
|
||||
cxxNameDouble();
|
||||
|
||||
struct elt_list *
|
||||
elt_list(PHREEQC_PTR_ARG);
|
||||
struct elt_list * elt_list(PHREEQC_PTR_ARG);
|
||||
|
||||
struct master_activity *
|
||||
master_activity(PHREEQC_PTR_ARG) const;
|
||||
|
||||
struct conc *
|
||||
conc(PHREEQC_PTR_ARG) const;
|
||||
struct conc * conc(PHREEQC_PTR_ARG) const;
|
||||
|
||||
struct name_coef *
|
||||
name_coef(PHREEQC_PTR_ARG) const;
|
||||
struct name_coef * name_coef(PHREEQC_PTR_ARG) const;
|
||||
|
||||
void
|
||||
dump_xml(std::ostream & s_oss, unsigned int indent) const;
|
||||
|
||||
@ -512,7 +512,7 @@ size_t Phreeqc::list_components(std::list<std::string> &list_c)
|
||||
{
|
||||
calc_dummy_kinetic_reaction_tally(&kinetics[i]);
|
||||
cxxKinetics entity(&kinetics[i], &phrq_io);
|
||||
accumulator.add_extensive(entity.get_totals(), 1.0);
|
||||
accumulator.add_extensive(entity.Get_totals(), 1.0);
|
||||
}
|
||||
|
||||
// Put in all primaries
|
||||
|
||||
10
Phreeqc.h
10
Phreeqc.h
@ -35,7 +35,9 @@ class cxxNameDouble;
|
||||
#undef extern
|
||||
#include "global_structures.h"
|
||||
#include "pitzer_structures.h"
|
||||
class cxxKinetics;
|
||||
class cxxMix;
|
||||
class cxxKineticsComp;
|
||||
class Phreeqc
|
||||
{
|
||||
public:
|
||||
@ -1230,7 +1232,13 @@ extern void MergeFinalize(void);
|
||||
#endif
|
||||
|
||||
// convert class to struct
|
||||
struct mix * cxxMix2mix(cxxMix &mx);
|
||||
|
||||
struct mix * cxxMix2mix(cxxMix *mx);
|
||||
struct kinetics *cxxKinetics2kinetics(cxxKinetics * kin);
|
||||
struct elt_list * cxxNameDouble2elt_list(cxxNameDouble * nd);
|
||||
struct kinetics_comp * cxxKineticsComp2kinetics_comp(std::list < cxxKineticsComp > * el);
|
||||
struct name_coef * cxxNameDouble2name_coef(cxxNameDouble * nd);
|
||||
|
||||
|
||||
/* tally.c */
|
||||
|
||||
|
||||
@ -489,7 +489,8 @@ read_kinetics_raw(void)
|
||||
|
||||
cxxKinetics ex(&phrq_io);
|
||||
ex.read_raw(parser);
|
||||
struct kinetics *kinetics_ptr = ex.cxxKinetics2kinetics(PHREEQC_THIS);
|
||||
//struct kinetics *kinetics_ptr = ex.cxxKinetics2kinetics(PHREEQC_THIS);
|
||||
struct kinetics *kinetics_ptr = cxxKinetics2kinetics(&ex);
|
||||
int n;
|
||||
|
||||
/*
|
||||
@ -871,7 +872,7 @@ read_mix_raw(void)
|
||||
cxxMix ex(&phrq_io);
|
||||
ex.read_raw(parser);
|
||||
//struct mix *mix_ptr = ex.cxxMix2mix(PHREEQC_THIS);
|
||||
struct mix *mix_ptr = cxxMix2mix(ex);
|
||||
struct mix *mix_ptr = cxxMix2mix(&ex);
|
||||
int n;
|
||||
|
||||
/*
|
||||
@ -1888,7 +1889,8 @@ read_kinetics_modify(void)
|
||||
entity.read_raw(parser, false);
|
||||
|
||||
// save entity
|
||||
struct kinetics *entity_ptr = entity.cxxKinetics2kinetics(PHREEQC_THIS);
|
||||
//struct kinetics *entity_ptr = entity.cxxKinetics2kinetics(PHREEQC_THIS);
|
||||
struct kinetics *entity_ptr = cxxKinetics2kinetics(&entity);
|
||||
kinetics_free(&(kinetics[n]));
|
||||
kinetics_copy(entity_ptr, &(kinetics[n]), entity_ptr->n_user);
|
||||
free_check_null(kinetics[n].description);
|
||||
|
||||
@ -1046,8 +1046,9 @@ cxxStorageBin::cxxStorageBin2phreeqc(PHREEQC_PTR_ARG_COMMA int n)
|
||||
std::map < int, cxxKinetics >::iterator it = this->Kinetics.find(n);
|
||||
if (it != this->Kinetics.end())
|
||||
{
|
||||
struct kinetics *kinetics_ptr =
|
||||
(it->second).cxxKinetics2kinetics(P_INSTANCE);
|
||||
//struct kinetics *kinetics_ptr =
|
||||
// (it->second).cxxKinetics2kinetics(P_INSTANCE);
|
||||
struct kinetics *kinetics_ptr = P_INSTANCE_POINTER cxxKinetics2kinetics(&(it->second));
|
||||
P_INSTANCE_POINTER kinetics_copy(kinetics_ptr, &P_INSTANCE_POINTER kinetics[0], n);
|
||||
P_INSTANCE_POINTER count_kinetics++;
|
||||
P_INSTANCE_POINTER kinetics_free(kinetics_ptr);
|
||||
@ -1282,7 +1283,9 @@ cxxStorageBin::cxxStorageBin2system(PHREEQC_PTR_ARG_COMMA int n)
|
||||
// Kinetics
|
||||
if (this->getKinetics(n) != NULL)
|
||||
{
|
||||
system_ptr->kinetics = (this->getKinetics(n))->cxxKinetics2kinetics(P_INSTANCE);
|
||||
//system_ptr->kinetics = (this->getKinetics(n))->cxxKinetics2kinetics(P_INSTANCE);
|
||||
system_ptr->kinetics = P_INSTANCE_POINTER cxxKinetics2kinetics(this->getKinetics(n));
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -67,7 +67,7 @@ totals(kinetics_ptr->totals)
|
||||
for (i = 0; i < kinetics_ptr->count_comps; i++)
|
||||
{
|
||||
cxxKineticsComp ec(&(kinetics_ptr->comps[i]), this->Get_io());
|
||||
std::string str(ec.get_rate_name());
|
||||
std::string str(ec.Get_rate_name());
|
||||
//this->kineticsComps[str] = ec;
|
||||
this->kineticsComps.push_back(ec);
|
||||
}
|
||||
@ -117,6 +117,7 @@ cxxKinetics::~cxxKinetics()
|
||||
{
|
||||
}
|
||||
|
||||
#ifdef MOVE_TO_STRUCTURES
|
||||
struct kinetics *
|
||||
cxxKinetics::cxxKinetics2kinetics(PHREEQC_PTR_ARG)
|
||||
//
|
||||
@ -173,7 +174,7 @@ cxxKinetics::cxxKinetics2kinetics(PHREEQC_PTR_ARG)
|
||||
}
|
||||
return (kinetics_ptr);
|
||||
}
|
||||
|
||||
#endif
|
||||
#ifdef SKIP
|
||||
void
|
||||
cxxKinetics::dump_xml(std::ostream & s_oss, unsigned int indent) const const
|
||||
@ -448,7 +449,7 @@ cxxKinetics::read_raw(CParser & parser, bool check)
|
||||
bool found = false;
|
||||
for (kit = this->kineticsComps.begin(); kit != this->kineticsComps.end(); kit++)
|
||||
{
|
||||
if (kit->get_rate_name() == ec.get_rate_name())
|
||||
if (kit->Get_rate_name() == ec.Get_rate_name())
|
||||
{
|
||||
found = true;
|
||||
break;
|
||||
@ -462,7 +463,7 @@ cxxKinetics::read_raw(CParser & parser, bool check)
|
||||
{
|
||||
cxxKineticsComp ec1(this->Get_io());
|
||||
ec1.read_raw(reread, false);
|
||||
std::string str(ec1.get_rate_name());
|
||||
std::string str(ec1.Get_rate_name());
|
||||
this->kineticsComps.push_back(ec1);
|
||||
}
|
||||
/*
|
||||
@ -746,7 +747,7 @@ cxxKinetics::add(const cxxKinetics & addee, double extensive)
|
||||
std::list < cxxKineticsComp >::iterator it;
|
||||
for (it = this->kineticsComps.begin(); it != this->kineticsComps.end(); it++)
|
||||
{
|
||||
if ((*it).get_rate_name() == (*itadd).get_rate_name())
|
||||
if ((*it).Get_rate_name() == (*itadd).Get_rate_name())
|
||||
{
|
||||
found = true;
|
||||
break;
|
||||
|
||||
@ -22,9 +22,9 @@ class cxxKinetics:public cxxNumKeyword
|
||||
int n_user, PHRQ_io *io=NULL);
|
||||
~cxxKinetics();
|
||||
|
||||
struct kinetics *cxxKinetics2kinetics(PHREEQC_PTR_ARG);
|
||||
//struct kinetics *cxxKinetics2kinetics(PHREEQC_PTR_ARG);
|
||||
|
||||
struct kinetics_comp *cxxKineticsComp2kinetics_comp();
|
||||
//struct kinetics_comp *cxxKineticsComp2kinetics_comp();
|
||||
|
||||
//void dump_xml(std::ostream& os, unsigned int indent = 0)const;
|
||||
|
||||
@ -32,14 +32,21 @@ class cxxKinetics:public cxxNumKeyword
|
||||
|
||||
void read_raw(CParser & parser, bool check = true);
|
||||
|
||||
bool get_related_phases(void);
|
||||
bool Get_related_phases(void);
|
||||
bool Get_related_rate(void);
|
||||
|
||||
std::vector < double > &Get_steps(void) {return steps;};
|
||||
double Get_step_divide(void) {return step_divide;};
|
||||
int Get_rk(void) {return rk;};
|
||||
int Get_bad_step_max(void) {return bad_step_max;};
|
||||
bool Get_use_cvode(void) {return use_cvode;};
|
||||
int Get_cvode_steps(void) {return cvode_steps;};
|
||||
int Get_cvode_order(void) {return cvode_order;};
|
||||
std::list < cxxKineticsComp > &Get_kineticsComps(void) {return kineticsComps;};
|
||||
cxxNameDouble & Get_totals(void) {return this->totals;};
|
||||
int Get_equal_steps(void) {return equal_steps;};
|
||||
|
||||
bool get_related_rate(void);
|
||||
|
||||
cxxNameDouble & get_totals(void)
|
||||
{
|
||||
return this->totals;
|
||||
}
|
||||
#ifdef USE_MPI
|
||||
void mpi_unpack(int *ints, int *ii, double *doubles, int *dd);
|
||||
void mpi_pack(std::vector < int >&ints, std::vector < double >&doubles);
|
||||
@ -48,7 +55,6 @@ class cxxKinetics:public cxxNumKeyword
|
||||
void add(const cxxKinetics & addee, double extensive);
|
||||
|
||||
protected:
|
||||
//std::map < std::string, cxxKineticsComp > kineticsComps;
|
||||
std::list < cxxKineticsComp > kineticsComps;
|
||||
std::vector < double >steps;
|
||||
int equal_steps;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user