Specifiers and Solvers
René D. Elms
May 16, 2011
Specifiers and Solvers
Utilizing Simple Specifiers and Solvers in ProMax can be of great benefit and provide much flexibility to the user. Specifiers and Solvers are calculators that enable the specification or calculation of properties and conditions in an indirect manner.
A Specifier allows a property value to be set, or specified, based on another property value(s). For example, a Specifier could be used to set a temperature in one stream to be 15 degrees above the temperature in another stream. In order to use a Specifier, all of the referenced property values must be available when the specified value must be calculated. Additional examples of when a Specifier might be used include:
- To specify the pressure of a stream entering a column to be the same as the stage pressure
- In an amine or glycol dehydration unit, to specify the reboiler steam rate as a function of the solvent circulation rate
- To specify the required flow rate of air to a reactor to achieve a certain level of available excess oxygen
A Solver involves an iterative process that allows calculation of a property value to achieve a given condition that cannot be set directly. For example, a Solver could be used to calculate the required amine circulation rate to achieve a certain rich loading. Referenced property values do not necessarily have to be available, but an initial guess is required.
There are three main uses for a Solver:
- To obtain a specific value for a block or stream property that cannot be user-specified
- To obtain a user-specified property that due to execution order cannot be specified or determined
- To improve efficiency of simulation convergence
The primary difference between the Specifier and Solver is the use of a numerical method solution. Since a Specifier sets the property value based on already-known values, a numerical method solution is not necessary. Alternatively, the Solver utilizes a numerical method to solve a user-determined function (Calculated Variable) so that the residual error is zero.
One way to view the use of a Solver is essentially an ‘automation’ of what the user would do if an indirect value needed to be modified to a certain desired value. Suppose we have an amine unit utilizing an amine circulation rate of 150 sgpm, with a corresponding rich loading of 0.45 moles/mole amine. Our goal is to have a rich loading of 0.30, but it is not possible to directly set the rich loading. We know that the amine circulation rate affects the value of the rich loading. Therefore, to affect a change in the rich loading, we increase the amine circulation rate to 200 sgpm, re-execute the simulation, and observe that the rich loading decreases to 0.35. We need to reach 0.30, so we again increase the circulation rate, maybe to 250 sgpm. When we rerun the simulation, we find the rich loading decreases to 0.28. At this point, we know a flow rate between 200 and 250 sgpm is needed. If we continued in this process, we would make another guess at the value for the circulation rate, once again solve the simulation, and observe the resulting rich loading. If the result does not match our goal, we would then make a new guess based on our results so far and continue this process. The ProMax Solver functions in the same manner, but conducts this process for the user faster and more efficiently.
Further examples of Solver use include:
- Calculation of the methanol injection rate needed to maintain a certain dew point temperature depression
- Calculation of the furnace air flow rate to achieve a certain H2S/SO2 tail gas ratio in a Sulfur Recovery Unit
- Calculation of the necessary temperature change to achieve a certain exchanger end point approach temperature
- To specify the side of an exchanger that is not executed first