"ComponentCount", dest: int;"Components", dest: std::vector< std::string >;"Concentrations", dest: std::vector< double >;"CurrentSelectedOutputUserNumber", dest: int;"DensityCalculated", dest: std::vector< double >;"ErrorString", dest: std::string;"FilePrefix", dest: std::string;"Gfw", dest: std::vector< double >;"GridCellCount", dest: int;"Porosity", dest: std::vector< double >;"Pressure", dest: std::vector< double >;"SaturationCalculated", dest: std::vector< double >;"SelectedOutput", dest: std::vector< double >;"SelectedOutputColumnCount", dest: int;"SelectedOutputCount", dest: int;"SelectedOutputHeadings", dest: std::vector< std::string >;"SelectedOutputOn", dest: bool;"SelectedOutputRowCount", dest: int;"SolutionVolume", dest: std::vector< double >;"Temperature", dest: std::vector< double >;"Time", dest: double;"TimeStep", dest: double,"Viscosity", dest: std::vector< double >.
GetConcentrations retrieves only the concentrations in the aqueous phase, and SetConcentrations applies only to the aqueous phase. GetConcentrations does not retrieve element moles or concentrations from other reactants: equilibrium phases, exchange, gas phase, solid solutions, surfaces, or kinetics.If you use SetConcentrations, then RunCells, and say calcite precipitates, then the concentrations of Ca, C, and O will be less when you use GetConcentrations after RunCells. If you use BMIPhreeqcRM, then you can use GetValue("equilibrium_phases_moles_Calcite") to retrieve the moles (not concentration) of calcite in each cell, and GetValue("equilibrium_phases_delta_moles_Calcite") to retrieve the change in moles of calcite in each cell that occurred in the RunCells calculation. Other strings can be used to retrieve data related to exchange, surface, etc. A list of the data items that can be retrieved by GetValue for a model system can be obtained by the BMI method GetOutputVarNames.Alternatively, you can write to selected output using SELECTED_OUTPUT and USER_PUNCH definitions. You will need to use the PhreeqcRM methods related to selected output to select and retrieve the selected output information (SetCurrentSelectedOutputUserNumber, GetSelectedOutput, and related methods).