1 #include <boost/foreach.hpp>
14 namespace IT = Input::Type;
18 =
IT::Record(
"SorptionMobile",
"Information about all the limited solubility affected adsorptions.")
21 .
declare_key(
"output_fields",
IT::Array(make_output_selection(
"conc_solid",
"SorptionMobile_Output")),
22 IT::Default(
"conc_solid"),
"List of fields to write to output stream.");
54 double phi = por_m/(por_m + por_imm);
63 double mult_coef = mult_coef_vec[i_subst];
64 double second_coef = second_coef_vec[i_subst];
65 Isotherm & isotherm = isotherms_vec[i_subst];
68 double scale_aqua, scale_sorbed;
70 scale_sorbed = phi * (1 - por_m - por_imm) * rock_density *
molar_masses[i_subst];
71 if(scale_sorbed == 0.0)
72 xprintf(
UsrErr,
"Parameter scale_sorbed (phi * (1 - por_m - por_imm) * rock_density * molar_masses[i_subst]) is equal to zero.");
73 bool limited_solubility_on;
76 limited_solubility_on =
false;
80 limited_solubility_on =
true;
84 solvent_density, scale_aqua, scale_sorbed, table_limit, mult_coef, second_coef);
88 END_TIMER(
"SorptionMob::isotherm_reinit");