EXCHANGE_MASTER_SPECIES Z Z-EXCHANGE_SPECIES Z- = Z- -log_k 0.0 Na+ + Z- = NaZ -log_k 10 -gamma 1e7 0 Ca+2 + 2Z- = CaZ2 -log_k 22 -gamma 1e7 0SOLUTION 0 Injected solution units mol/LNa 0.05Ca 0.005Cl 0.06SOLUTION 1-100 Initial solution for column units mol/L Na 0.03Ca 0.005Cl 0.04EXCHANGE 1-100-equilibrate 1Z 0.0345TRANSPORT -cells 100 -shifts 200 -length 100*0.0061 -boundary_conditions flux flux -dispersivities 100*0 -correct_disp true -diffusion_coefficient 0 -punch_cells 100 -punch_frequency 1 -print_cells 100USER_GRAPH 1 -headings Ca -chart_title "1D advection history" -axis_titles "Pore volumes" "Ca concentration" -axis_scale x_axis 0.9 2 -axis_scale y_axis auto auto a a -start 10 REM plot_xy (step_no+0.5)/100, MOL("Na+"), color = Red, line_width = 2, \ symbol = Square, y-axis = 1 20 plot_xy (step_no+0.5)/100, MOL("Ca+2")/0.005, color = Green, line_width = 2, \ symbol = Diamond, symbol_size = 7, y-axis = 1 50 REM end-end

Not sure about your log Ks for exchange. Typically, the NaZ reaction would be assigned a log K of 0.0, and the CaZ2 reaction would be assigned a K of 2.276 (log10(1/0.0053)). Seems like a log K closer to zero would fit the data better, but that is up to you.Also, for your calculation (pore volumes), you could use ADVECTION, which is slightly simpler to set up.

EXCHANGE_SPECIES Z- = Z- -log_k 0.0 Na+ + Z- = NaZ -log_k 0 -gamma 1e7 0 Ca+2 + 2Z- = CaZ2 -log_k 2.276 -gamma 1e7 0