In addition to tools like pHsolver and Chembuddy mentioned above, you can also turn to process simulators like Hysys, PRO-II, UniSim, etc.
To do so, recall that when you use a simulation program there are different fluid packages(also known as thermodynamic methods). Each package uses different calculation strategies to handle the prediction of the properties of each stream. When considering pH, you need fluid packages specially designed for pH problems, called “Electrolyte” fluid packages.
For most Aspentech products, my experience is you have to buy the package “OLI_Electrolyte” as a separate add-on to your contract. OLI_Electrolyte will usually show up in your list of fluid options, but it will only work once you’ve paid extra for it. (The extra fee helps pay the company OLI who made the calculations; Aspentech is basically giving you a platform to run OLI’s models).
UniSim Design I haven’t use in years, but I imagine the still use a very similar set-up to Aspentech.
For SimSci products like PRO-II, there are a wide variety of electrolyte models built in to the software. Each model handles a small selection of acid-base species. You need to crack open the manual and do some research to find a model that handles all the different chemical species in your situation.
One problem you may encounter is defining the streams: you know you want “200 gpm of water, and the water is at pH 3.0 due to HCl,” but how much HCl does that mean? There is no easy way to just type in the pH you want. To get around this, you may need to first try mixing the water with solid HCl, and have an “adjuster” or “controller” type of operation iterate the HCl added to define your initial stream. “Vary the input flowrate of HCl until the outlet stream has pH = 3.0.” Once the solver finishes, then can you bring your mixed stream into the simulation and solve your other problems.