Skip to content

Commit

Permalink
Squashed 'src/' changes from 0243c905..60ccbf83
Browse files Browse the repository at this point in the history
60ccbf83 Removed CALCULATE_VALUES, added MEAN_GAMMAS, made phreeqc_rates.dat, updated CMakeLists, ran all examples, added test case ss_kinetics
baa0eee9 Added a little error checking to tokrate_pk
50d999ba Tony added table numbers, kinetic_rates_plus has complete tables.
bf054e31 Finished up mean_gammas keyword and test case. Tony has some new changes I need to add.
8c561f0e Implemented rate parameters PK, SVD, Hermanska
5998b71b Added Basic function RATE_PK and RATE_SVERDRUP
c8812833 added put$ and get$ Basic functions. Added test cases get_put_ to test get$ and put$. Added kinetic_rates_carbfix to use new database kinec.v2.dat. Fixed pad$ to use strexpr.

git-subtree-dir: src
git-subtree-split: 60ccbf83563b6f60011e37200b0357361e9e6379
  • Loading branch information
Darth Vader committed May 7, 2024
1 parent bcf33d2 commit c30b0dc
Show file tree
Hide file tree
Showing 8 changed files with 921 additions and 3 deletions.
558 changes: 556 additions & 2 deletions PBasic.cpp

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions PBasic.h
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,7 @@ class PBasic: public PHRQ_base
tokgas_p,
tokgas_vm,
tokget,
tokget_,
tokget_por,
tokgfw,
tokgraph_x,
Expand Down Expand Up @@ -290,6 +291,10 @@ class PBasic: public PHRQ_base
tokpad_,
tokpad,
tokparm,
tokrate_pk,
tokrate_svd,
tokrate_hermanska,
tokmeang,
tokpercent_error,
tokphase_formula,
tokphase_formula_,
Expand All @@ -302,6 +307,7 @@ class PBasic: public PHRQ_base
tokprint,
tokpunch,
tokput,
tokput_,
tokqbrn,
tokrho,
tokrho_0,
Expand Down Expand Up @@ -443,6 +449,7 @@ class PBasic: public PHRQ_base
void cmdrun(struct LOC_exec *LINK);
void cmdsave(struct LOC_exec *LINK);
void cmdput(struct LOC_exec *LINK);
void cmdput_(struct LOC_exec* LINK);
void cmdchange_por(struct LOC_exec *LINK);
void cmdchange_surf(struct LOC_exec *LINK);
void cmdbye(void);
Expand Down
7 changes: 7 additions & 0 deletions Phreeqc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1201,6 +1201,7 @@ Phreeqc::InternalCopy(const Phreeqc* pSrc)
Rxn_kinetics_map = pSrc->Rxn_kinetics_map;
use_kinetics_limiter = pSrc->use_kinetics_limiter;
save_values = pSrc->save_values;
save_strings = pSrc->save_strings;
save = pSrc->save;
//class copier copy_solution;
//class copier copy_pp_assemblage;
Expand All @@ -1216,6 +1217,12 @@ Phreeqc::InternalCopy(const Phreeqc* pSrc)
// Inverse not implemented
//std::vector<class inverse> inverse;
count_inverse = 0;
/* rate parameters */
rate_parameters_pk = pSrc->rate_parameters_pk;
rate_parameters_svd = pSrc->rate_parameters_svd;
rate_parameters_hermanska = pSrc->rate_parameters_hermanska;
// Mean gammas
mean_gammas = pSrc->mean_gammas;
// Mix
Rxn_mix_map = pSrc->Rxn_mix_map;
Dispersion_mix_map = pSrc->Dispersion_mix_map;
Expand Down
16 changes: 15 additions & 1 deletion Phreeqc.h
Original file line number Diff line number Diff line change
Expand Up @@ -694,6 +694,10 @@ class Phreeqc
bool read_vector_ints(const char** cptr, std::vector<int>& v, int positive);
bool read_vector_t_f(const char** ptr, std::vector<bool>& v);
int read_master_species(void);
int read_rate_parameters_pk(void);
int read_rate_parameters_svd(void);
int read_rate_parameters_hermanska(void);
int read_mean_gammas(void);
int read_mix(void);
int read_entity_mix(std::map<int, cxxMix>& mix_map);
//int read_solution_mix(void);
Expand Down Expand Up @@ -1155,6 +1159,7 @@ class Phreeqc
* Save
*---------------------------------------------------------------------- */
std::map<std::string, double> save_values;
std::map<std::string, std::string> save_strings;
class save save;

/*----------------------------------------------------------------------
Expand Down Expand Up @@ -1182,7 +1187,16 @@ class Phreeqc
*---------------------------------------------------------------------- */
std::vector<class inverse> inverse;
int count_inverse;

/*----------------------------------------------------------------------
* Rates
*---------------------------------------------------------------------- */
std::map<std::string, std::vector<double> > rate_parameters_pk;
std::map<std::string, std::vector<double> > rate_parameters_svd;
std::map<std::string, std::vector<double> > rate_parameters_hermanska;
/*----------------------------------------------------------------------
* Mean gammas
*---------------------------------------------------------------------- */
std::map<std::string, cxxNameDouble> mean_gammas;
/*----------------------------------------------------------------------
* Mix
*---------------------------------------------------------------------- */
Expand Down
8 changes: 8 additions & 0 deletions PhreeqcKeywords/Keywords.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,10 @@ std::map<const std::string, Keywords::KEYWORDS>::value_type("reaction_pressure",
std::map<const std::string, Keywords::KEYWORDS>::value_type("reaction_pressures", Keywords::KEY_REACTION_PRESSURE),
std::map<const std::string, Keywords::KEYWORDS>::value_type("reaction_pressure_raw", Keywords::KEY_REACTION_PRESSURE_RAW),
std::map<const std::string, Keywords::KEYWORDS>::value_type("reaction_pressure_modify", Keywords::KEY_REACTION_PRESSURE_MODIFY),
std::map<const std::string, Keywords::KEYWORDS>::value_type("rate_parameters_pk", Keywords::KEY_RATE_PARAMETERS_PK),
std::map<const std::string, Keywords::KEYWORDS>::value_type("rate_parameters_svd", Keywords::KEY_RATE_PARAMETERS_SVD),
std::map<const std::string, Keywords::KEYWORDS>::value_type("rate_parameters_hermanska", Keywords::KEY_RATE_PARAMETERS_HERMANSKA),
std::map<const std::string, Keywords::KEYWORDS>::value_type("mean_gammas", Keywords::KEY_MEAN_GAMMAS),
std::map<const std::string, Keywords::KEYWORDS>::value_type("solution_mix", Keywords::KEY_SOLUTION_MIX),
std::map<const std::string, Keywords::KEYWORDS>::value_type("mix_solution", Keywords::KEY_SOLUTION_MIX),
std::map<const std::string, Keywords::KEYWORDS>::value_type("exchange_mix", Keywords::KEY_EXCHANGE_MIX),
Expand Down Expand Up @@ -221,6 +225,10 @@ std::map<Keywords::KEYWORDS, const std::string>::value_type(Keywords::KEY_REACTI
std::map<Keywords::KEYWORDS, const std::string>::value_type(Keywords::KEY_REACTION_PRESSURE, "REACTION_PRESSURE"),
std::map<Keywords::KEYWORDS, const std::string>::value_type(Keywords::KEY_REACTION_PRESSURE_RAW, "REACTION_PRESSURE_RAW"),
std::map<Keywords::KEYWORDS, const std::string>::value_type(Keywords::KEY_REACTION_PRESSURE_MODIFY, "REACTION_PRESSURE_MODIFY"),
std::map<Keywords::KEYWORDS, const std::string>::value_type(Keywords::KEY_RATE_PARAMETERS_PK, "RATE_PARAMETERS_PK"),
std::map<Keywords::KEYWORDS, const std::string>::value_type(Keywords::KEY_RATE_PARAMETERS_SVD, "RATE_PARAMETERS_SVD"),
std::map<Keywords::KEYWORDS, const std::string>::value_type(Keywords::KEY_RATE_PARAMETERS_HERMANSKA, "RATE_PARAMETERS_HERMANSKA"),
std::map<Keywords::KEYWORDS, const std::string>::value_type(Keywords::KEY_MEAN_GAMMAS, "RATE_MEAN_GAMMAS"),
std::map<Keywords::KEYWORDS, const std::string>::value_type(Keywords::KEY_SOLUTION_MIX, "SOLUTION_MIX"),
std::map<Keywords::KEYWORDS, const std::string>::value_type(Keywords::KEY_EXCHANGE_MIX, "EXCHANGE_MIX"),
std::map<Keywords::KEYWORDS, const std::string>::value_type(Keywords::KEY_GAS_PHASE_MIX, "GAS_PHASE_MIX"),
Expand Down
4 changes: 4 additions & 0 deletions PhreeqcKeywords/Keywords.h
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,10 @@ class Keywords
KEY_REACTION_PRESSURE,
KEY_REACTION_PRESSURE_RAW,
KEY_REACTION_PRESSURE_MODIFY,
KEY_RATE_PARAMETERS_PK,
KEY_RATE_PARAMETERS_SVD,
KEY_RATE_PARAMETERS_HERMANSKA,
KEY_MEAN_GAMMAS,
KEY_SOLUTION_MIX,
KEY_EXCHANGE_MIX,
KEY_GAS_PHASE_MIX,
Expand Down
Loading

0 comments on commit c30b0dc

Please # to comment.