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:
David L Parkhurst 2011-09-26 22:56:22 +00:00
parent 12d62e8e54
commit 7c9913195a
9 changed files with 58 additions and 32 deletions

View File

@ -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

View File

@ -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);

View File

@ -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;

View File

@ -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

View File

@ -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 */

View File

@ -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);

View File

@ -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
{

View File

@ -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;

View File

@ -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;