diff --git a/ChemistryLib/PhreeqcIO.cpp b/ChemistryLib/PhreeqcIO.cpp index 349820eeabcd8745cdafd10c4927014fd2adea6a..be9377f2fb78ce2c14aaad2f99e7c823850d4965 100644 --- a/ChemistryLib/PhreeqcIO.cpp +++ b/ChemistryLib/PhreeqcIO.cpp @@ -419,9 +419,18 @@ double PhreeqcIO::getConcentration( auto& components = aqueous_solution.components; auto const& pH = *aqueous_solution.pH; - return component_id < static_cast<int>(components.size()) - ? components[component_id].amount->get(chemical_system_id) - : pH.get(chemical_system_id); + if (component_id < static_cast<int>(components.size())) + { + MathLib::LinAlg::setLocalAccessibleVector( + *components[component_id].amount); + + return components[component_id].amount->get(chemical_system_id); + } + + // pH + MathLib::LinAlg::setLocalAccessibleVector(*aqueous_solution.pH); + + return pH.get(chemical_system_id); } void PhreeqcIO::setAqueousSolutionsPrevFromDumpFile()