1 #include <boost/foreach.hpp>
16 =
IT::Record(
"SorptionImmobile",
"Information about all the limited solubility affected adsorptions.")
19 .
declare_key(
"output_fields",
IT::Array(make_output_selection(
"conc_immobile_solid",
"SorptionImmobile_Output")),
20 IT::Default(
"conc_immobile_solid"),
"List of fields to write to output stream.");
53 double phi = por_m/(por_m + por_imm);
62 double mult_coef = mult_coef_vec[i_subst];
63 double second_coef = second_coef_vec[i_subst];
64 Isotherm & isotherm = isotherms_vec[i_subst];
67 double scale_aqua, scale_sorbed;
69 scale_sorbed = (1 - phi) * (1 - por_m - por_imm) * rock_density *
molar_masses[i_subst];
70 if(scale_sorbed == 0.0)
71 xprintf(
UsrErr,
"Parameter scale_sorbed ((1 - phi) * (1 - por_m - por_imm) * rock_density * molar_masses[i_subst]) is equal to zero.");
72 bool limited_solubility_on;
75 limited_solubility_on =
false;
79 limited_solubility_on =
true;
83 solvent_density, scale_aqua, scale_sorbed, table_limit, mult_coef, second_coef);
87 END_TIMER(
"SorptionImmob::isotherm_reinit");