Alph - A Little Process Helper

This tutorial is an introduction to the tower tool and is the fifth part of the Alph introduction tutorial. If you did not go through the previous parts, you might want to start with them first, but a completed tutorial 4 case is available.

Alph tutorial pages:

- 1 - Getting started and creating a fluid
- 2 - Hydrate and phase envelope tools
- 3 - Fluid interactions and formulas
- 4 - Mixing and component splitting
- 5 - Distillation Tower
- 6 - Simple refrigeration cycle
- 7 - Function Solver
- 8 - Material Recycles

The simple gas plant we have been working with, is represented by this flowsheet.

Previously we used formulas to approximate the stabilizer with compound splits, but now we will do a rigorous stage by stage calculation of the column.

To begin, tap the **Add Tool** button on the bottom bar of the Information Flow Diagram and select **Tower** to add a new tower tool.

Enter a name an description for the tower in the name field. I used **stab liquid stabilizer**.

Enter **15** as the number of stages and tap the **Feeds** row to bring up the Feeds page.

The list will initially be empty, so tap the **New** button on the bottom bar to create a feed. Assign it to stage 4 and fill in **feed.L** as the fluid name. In our splitter approximation, we combined the feed and lts liquids into a single feed, but here we will introduce them into the tower on different stages.

Tap the **New** button again to create another feed and assign it to stage 7 with a fluid input of **lts.L**. The screen should now look something like that at the right (character case is not important).

If you are happy with the feed designation, tap the **Tower** button at the upper left to return to the tower input page and then tap the **Pressures** row so we can define the stage pressures.

Tap the new button to add a pressure specification. The first pressure will have zero, the top stage, already filled in, so just enter **700** for the pressure and tap new again.

The second pressure will again have the stage number filled in, this time with -1. Alph numbers its stages from the top with the top stage being 0, but you can use negative numbers to designate stages relative to the bottom stage, with -1 being the bottom stage, -2 the stage above that and so forth. This means you can change the number of stages in the column without having to worry about changing things like the pressure specification.

Leave the stage number at -1 and fill in 750 for the pressure. Alph will use linear interpolation to fill in any stages not explicitly assigned, but you must assign pressures to the top and bottom stage at a minimum.

Now tap the **Tower** button at the upper left to return to the tower input page and then tap the **Temperature Estimates** row to proceed to the next step.

The temperature estimates input is very similar to that for the pressure specifications. Tap the new button to add a temperature estimate. Once again the first estimate will have zero, the top stage, already filled in. Since we have already approximated the stabilizer overhead and bottoms using compound splits, we can cheat and see what temperatures were predicted. Looking back, we can see the stabovhd fluid has a temperature of 20 C, while the stabbtms is 146.6 C. Enter 20 C for the top stage estimate.

Create a second estimate and again leave the stage number at -1 and fill in 150 C temperature. As with pressure specifications, Alph will fill use linear interpolation to fill in any stages not explicitly assigned, but you must assign estimates to the top and bottom stage at a minimum.

This tower will have a condenser on the top stage and a reboiler on the bottom, so tap the **Tower** button at the upper left to return to the tower input page and then tap the **Energy Inputs** row so we can define those.

The energies page is similar to the previous pages. Our component splitter model only had a reboiler, but here we will have a partial condenser as well. Just tap the **New** button twice to create two energy inputs. Once again the first will by default be on the top stage and the second on the bottom stage, thus representing a condenser and reboiler respectively. Just leave the specification fields blank for now.

We don't want any side draws at this point, so we don't need to return to the input page. Instead tap the **Run** button on the bottom bar to bring up the run view.

At the top of the page there are fields for overhead vapour flow and reflux ratio. The values from these fields are always used as initial estimates in the tower calculation, unless a tower is being restarted. Additionally they will be specifications if the first and second energy inputs do not have specification formulas, with the overhead flow corresponding to the first energy input and the reflux ratio to the second.

Initially the overhead flow has a default value which is a formula that will resolve to half of the total feed flow, but rarely will that be what you want. In our case we know that the splitter calculation approximated the overhead flow for the stabovhd fluid as 140.4 mole per hour, so we can just replace the overhead vapour flow formula with 140.

Leave the reflux ratio as 1 for now and tap the run button.

A calculation page should slide into view showing status and error values as the calculation proceeds. A **Stop** button is available on the left of the title bar, but if all is well it should only take a couple of seconds for the tower to converge and return to the tower page.

Once the tower has converged, tap on the **Profiles** button to see what has happened.

Alph displays the tower profiles with an interactive graph, which can be dragged up and down to change the selected stage indicated by the black triangles and blue shading. At the top of the view, the following properties are displayed for the selected stage:

**6**- the stage number, with 0 being the top stage, is displayed at the top left**T**- stage temperature (red)**V**- stage vapour flow (green)**L**- stage liquid flow (blue)**D**- stage side draw flow, if applicable (gray)**Q**- stage energy input, if applicable (red for heater, blue for cooler)

Light purple triangles on the left of the diagram represent feeds, while red triangles represent incoming energy flows (heaters). Similarly purple triangles on the right side indicate stage side draws, while red triangles represent outgoing energy flows (coolers).

Drag the graph down, so the top stage is highlighted.

With the top stage selected, we can see that the overhead vapour flow has indeed converged on the 140 moles per hour that we specified and since the reflux ratio was specified as 1, the liquid leaving the top stage is also 140 mole per hour. Since we defined an energy input on this stage (the condenser), there is now a Q value showing as a negative number and in blue since it is a cooler.

While we don't have that many stages in this example, it might be advantageous to expand the vertical scale on larger towers and this can be done with the normal pinch gestures.

Try doing a two finger spread to zoom in on the graph.

The result should look something like what is to the right. Double tapping on the graph will restore it to its original display.

Knowing the stage flows and temperatures is only part of the answer though. For the tower to be useful its information has to be available to fluids, variables and other tools so it can be used in further calculations.

Return to the diagram and tap the icon for the **stabbtms** fluid.

As shown at right, we defined this fluid in terms of the combined feed (mixer stabfeed) and an array variable describing the portion of each compound that should go overhead. We will now replace those formulas with ones referencing the tower results.

Replace the pressure formula with:

#stab._1.p

The flow formula should become:

#stab._1.L.f

and finally the composition formula becomes:

#stab._1.L.x

The changed page should look like the screenshot below.

The pound sign **#** is used to reference tool variables in the same way that the at sign **@** is used for fluids and the dollar sign **$** is used for variables.

For the tower tool, stage variables are reference by immediately follow the #name with dot stage number, follow by a dot and either a variable designation or a phase dot variable designation. In this case I am using an underscore instead of a minus sign to designate the bottom stage, since a minus sign could be confused in a formula with the arithmetic operator.

The stage variables **T** (temperature), **P** (pressure) and **Q** (calculated energy input) do not depend on the phase and so immediately follow the stage number, as in

#stab._1.p

The stage variables **F** (flow), **X** (mole fractions) and **D** (side draw flow) are dependent on phase and must be preceded by a dot separated phase designator of either **L** (liquid) or **V** vapour. Thus for composition we have:

#stab._1.L.x

The tower also supports two variables that do not depend on the stage, **totalfeedf** (the sum of all feed flows) and **minfeedp** (the lowest feed pressure). These would be referenced in the follow in manner:

#stab.minfeedp

Tap the **Bulk** button to see the properties of the tower bottoms.

As intended, the fluid now has the temperature, pressure, flow, composition and properties of the stabilizer bottoms liquid.

Return to the diagram and tap on the **vpcheck** fluid. This uses the composition of the **stabbtms** fluid to calculate the boiling point at 1 atmosphere. With the **stabbtms** composition now reflecting the actual column calculation, we can see that this temperature has actually risen from the previous 58.9 C to 61.7 C. Since an actual specification for this stream would be something like 100 F, lets see if we can alter the column to achieve this.

Return to the **stab** tool, select the input, then energy inputs and the specification field for the first energy.

Enter the following formula:

( @vpcheck.t - {fromunit "F" "T" 100} ) / 500

This references the temperature of the **vpcheck** fluid, and subtracts from it 100 F converted to the current unit set by means of the **fromunit** function. The difference is then scaled by a number roughly appropriate for absolute temperatures (error formulas should always be roughly scaled to less than 1 initially, but the scaling can be reduced later to make the spec tighter). The tower convergence algorithm will attempt to reduce this value to zero and since we have supplied an error formula for the first energy input, the overhead flow value on the run page is no longer considered a specification.

Return to the tower run view and tap the run button.

If all is well, the tower should converge in a few seconds. Notice that after the run, the overhead flow value is now displayed in red to indicate that it is no longer a specification.

Go to the profile view and check the overhead flow rate. It should now 119 mole per hour, compared to the previous 140, indicating that many more light ends were pushed down into the bottoms.

If you return to the **vpcheck** fluid, you will see that it is indeed at 37.7 C or 100 F. This illustrates the interesting flexibility of the formula specifications, for the tower used the calculation of a fluid that depended in turn on the tower results as part of its solution algorithm. The idea of supplying a formula to calculate an error as a specification may seem a bit strange at first, but it is a very powerful construct. See the application help on tower specs for more details on how these are used.

Now replace the formulas defining the **stabovhd** fluid so that it represents the vapour off of the top of the tower.

The bulk properties should now look like this.

To finish up, we can do a little tidying up. The **stabfeed** mixer tool is no longer needed, nor are the **splits** and **stabduty** variables. Go to the information flow diagram and delete each of those by triple tapping on them.

Finally move the **stab** tower to an appropriate spot and rearrange things as you feel appropriate.

In the next tutorial, we shall look at implementing the refrigeration unit as a propane chilling system.