# Designing a Cooling Water System. Part 1

This example will work through the design development of a cooling water distribution system. In doing so, this exercise will demonstrate some of the unique features of the software including the powerful auto-sizing functionality. The topics covered in this example design are: ▪Flowsheet and model building basics. ▪How to enter data. ▪How to interpret results. ▪How to automatically size pipes and components. Note, FluidFlow allows engineers to auto-size pipes, pumps, orifice plates, control valves and a range of other fittings which simplifies the design process and reduces project design-time considerably. Outline Project Brief: It is desired to provide a balanced distribution of cooling water from a cooling tower to serve a total of three shell and tube heat exchangers HE1, HE2 and HE3. The size of the heat exchangers has already been determined from the process requirement and is summarized in Table 1. Table 1 Design Criteria: ▪The cooling water is to flow through the tubes of each exchanger and the maximum inlet summer temperature of the cooling water will be 25°C. ▪The design temperature rise of the cooling water across each heat exchanger is 10°C. ▪The elevation of the exchangers above the pump centerline is 3 m and the exchangers are approximately 8 M apart. ▪Each exchanger has 2 tube passes. ▪The elevation of the cooling tower inlet above the pump centerline is 6m and the manufacturer of the cooling tower requires a minimum pressure loss of 30000 Pascals for the flow distribution to work effectively. As part of the design development, we need to design/specify the following items: ▪Pipe sizes to be used. ▪The method we will use to balance the flow through each exchanger. ▪How to make a pump selection. ▪We need to consider what happens to the exit cooling water temperature of HE2 if the heat load is increased by 33%. Building the model in the FluidFlow flowsheet: With the design of all systems the initial question we need to answer is where do we start and end the model, i.e., where do we and how do we define the model boundaries. For this design we will start the model at the cooling tower sump and end the model at the top of the cooling tower. This means the actual cooling tower will not be included in this model. Most cooling water systems have a supply header taking fresh cooling water to each individual exchanger and a collection return header. We will therefore use this same approach. Finally, before we start building the model we need to consider the cooling water flow rate we need to each exchanger branch. The flow to each exchanger is determined by a heat balance equation: Heat Transferred (W) = Mass flow (kg/s) x Specific Heat Capacity (J/kg) x Temperature Rise (°C). or simply Q = m x c x ΔT. The specific heat of water at 30° C is approximately 4154 J/kg, so from Table 1 we see that the mass flow needed to HE1 will be 200000 / (4154 x 10) = 4.81 kg/s. The required mass flow rate of water to each exchanger is summarized in Table 2 below. Table 2 We will now start building the model by placing three shell and tube exchangers onto the flowsheet. Select the shell and tube exchanger icon by clicking on the Heat Exchangers Tab on the Component Palette. Place three shell and tube heat exchangers onto a new flowsheet as shown below: As we drop each element (or component) onto the flowsheet, default data is associated with the element. The default data for each element can be seen in the Data Palette by clicking on the Input Tab. Often we need to change some value(s) in the default data to meet our needs. For now we will continue building and come back later to change each individual element as necessary. The reason we are deferring this task is that there are many group features built into FluidFlow to aid data editing and setup, which we can use later. Next we will add the two boundaries. Inlet Boundary: For the cooling water inlet boundary we need a boundary that can represent the cooling water sump. We know that the sump is open to atmosphere and that during normal operation the liquid level in the sump is 0.5m above the pump centerline. If we specify the pressure at any boundary then FluidFlow will calculate the flow that will be delivered to the system. In our design we know the design flow that is needed, because this is determined by the heat load of the exchangers. Later we will make a pump selection that will provide us with the correct flow and design duty pressure rise across the system. Select the Known Pressure boundary icon by clicking on the Boundaries Tab on the Component Palette. Place the Known Pressure element on the flowsheet anywhere below the three heat exchangers. Outlet Boundary: The collection return line eventually leads back to a cooling tower. At this boundary we know the pressure that we must have above in order for the system to work as the cooling tower manufacturer requires a minimum pressure loss of 30000 Pascals. The water pressure necessary at the exit boundary is the sum of the elevation we need to rise to the top of the cooling tower + any pressure required to overcome the loss in the flow distribution system feeding the cooling water tower. The elevation of the cooling tower inlet above the pump centerline is 6m. We will therefore select a Known Pressure element for the exit boundary. At this point the flowsheet should look something like: To add a pump to the system, we need to select the Centrifugal Pump element found on the Boosters tab and set the Automatically Size function to On. Note, if we set the Automatically Size function to Off and select a pump model from the database, this will represent a specific pump and the flow we obtain in the system will be that dictated by the intersection of the pump and system curves. Chances are that the default pump selection will be incorrect. We will therefore defer the selection of the actual pump model until we have sized the pipes and fittings. As we have set the Automatically Size function to On for the centrifugal pump, this allows us to choose from two sizing options: 1) Size for Flow or 2) Size for Pressure Rise. If we select Size for Flow, FluidFlow will calculate the head required to deliver our design flow rate and if we select Size for Pressure Rise, FluidFlow will calculate the flow rate throughout the system as a result of the design pressure rise requirement. We therefore need to consider which option is most applicable for our design case. As a first pass design, we can select Size for Flow and define the design flow rate of 12.99 kg/s for the system. This will enable us to size the pipework, study the flow distribution and determine the pump duty pressure rise. Place the centrifugal pump on the flowsheet to the right of node 4 (the node Known Pressure node which represents the cooling tower sump). We are now ready to start connecting pipes. FluidFlow makes pipe connecting very easy, because there is no need to include bends. These are added for you as you draw the pipes. We will again defer the task of editing data values as we connect pipes. Right now we are only concerned with building the model connectivity. Click the Steel Pipe icon on the Pipes tab of the Component Palette. As you move the cursor over the flowsheet the shape changes to a pipe icon . Click on the known pressure boundary and then move the mouse to be directly over the pump element, then click the left mouse button. FluidFlow will then complete the pipe connection from the cooling water sump to the pump. While the cursor is over the pump make a second left mouse click and then move the mouse cursor to the right beneath heat exchanger 3 and make another left mouse click. A pipe is created starting at the pump and terminating at an open end. Click on the open end and position the cursor directly over the heat exchanger as shown below. Click on the exchanger, to complete the connection from the open end to the far right heat exchanger. Notice that the open pipe will change to a bend automatically. If you make a mistake, click on the selector icon, in the flowsheet toolbar, select the wrongly connected element and use the Ctrl + Delete keys together to delete the selected element. Alternatively, right mouse-click and select "Delete" from the drop-down menu. Selector Icon. Your flowsheet should now appear as shown below. Move the cursor over the pipe on the discharge side of the pump on the same grid position as heat exchanger 2. Notice how the cursor changes from a pipe to a split pipe as we move over a pipe that can be split. If we click here the pipe will be split and we can make the connection to the middle heat exchanger. The split pipe has converted itself into a Tee connection. This type of junction, because it is made dynamically, adjusts itself depending on the number of pipes connected. For example a single pipe connected and the junction is an open ended pipe, two connected pipes and the junction transforms to a bend, three connected pipes the junction becomes a tee or wye and with four connected pipes the junction becomes a cross. Make further connections so that we end up with a connected network as shown on the following image. Turn on the pipe numbering from the flowsheet toolbar. Note that pipe numbers go from -1 ... -n and that other elements (nodes and text) are numbered 1 ... n. Changing the default data using the flowsheet and data palette: Up until this point no data entry has been made, we have focused on describing the element connectivity. This means that each element will have default data values according to the current environment set in use when the element was placed on the flowsheet (see Customizations and Environment section for more information about environment sets). You can select any element on the flowsheet at any time by clicking on the element, after first using (clicking on) the selector icon. First we need to enter all the pipe lengths. Table 3 shows the pipe lengths that are fixed by the physical plant layout and also the number of bends in each pipe section. Table 3 To enter the pipe lengths we can use one of two approaches. Either we can select pipes from the flowsheet or we can select pipes from the Lists Tab in the Data Palette. We will use the flowsheet in this example. We can reduce the amount of data entry we make by recognizing the fact that some of the pipes are identical. For example the main feed and return branches to each exchanger are identical (pipes -3, -5, -7, -8, -11 and -13). If we use the fact that we can make multiple selections on the flowsheet we can change the length of all 6 pipes with one edit. There are many ways to make multiple element selections, but for now we will use the mouse-click method. To make multiple selections using mouse clicks on the flowsheet simply hold down the Shift key and click each element you wish to select. If you make a mistake and select the wrong element just click the element again and it will deselect. Don't forget to keep the Shift key depressed as you are making the multiple selections. Use this method to select the six identical branch pipes. If you release the Shift key and click anywhere on the flowsheet other than on a selected element you will lose your selections. To enter the pipe length of 3 m for each selected pipe, click on the Input tab in the Data Palette, move to the Length row in the Input tab and change the length to 3. Input Inspector Tab. The length of all 6 pipes is changed in one edit. Change the length of the remaining pipes, (Hint: the header and return sections -4, -6, -10 and -12 are identical). Time to save our work. Use the File Save menu to save your work now. It is good practice to regularly save your work. To complete the pipe data entry we need to make 2 additional entries. For each pipe we need to specify a nominal size and we need to add further bends as shown in Table 3. We need to determine pipe size and FluidFlow can help us here, so we will defer this task and add the additional bends now. There are 2 additional bends in each branch line, 3 in the supply line from the pump to the first branch (tee node 9) and 5 additional bends in the return line from the last return branch (tee node 12) to the cooling tower. As we are dealing with an incompressible fluid, where the density change is small throughout the network we can avoid entering all bends individually. Instead use the Quantity row for each bend we add in the Input Inspector to reduce the number of bends we need to add. Design Note: This approach is NOT recommended where density changes throughout a pipe section are significant, i.e. compressible fluids. Select the Junctions Tab in the component palette and click on the bend, then drop this bend into the pipe. If you need to create some additional length to pipe -1 on the flowsheet, click on the pump node (6), hold down the left mouse button and drag the node to a different location. Add the remaining bends as shown highlighted in the flowsheet below. Hold the Shift key and click on bends 14, 15, 16, 17, 18 & 19 and change the Quantity row in the Input Inspector of the Data Palette from 1 to 2. Click on bend 13 and change the quantity to 3. Click on bend 20 and change the quantity to 5. This almost completes the data entry for the pipe data given in Table 3. All that remains for pipe entry is to set each pipe diameter. You may have noticed that inserting an element in a pipe splits the pipe lengths into two equal segment lengths. This is the default behavior but can be changed based on personal preferences if desired. This can be achieved by selecting: Options | Environment | Component Defaults [F4]. Note, it is important to review all pipe lengths which have been affected as a result of inserting elements. In this case, we have set the length of the pipes in this system to reflect that shown in Table 4. Table 4 Click on each heat exchanger on the flowsheet and change the default data to reflect the tube information provided in Table 1. The Input Inspector for HE2 is shown below. You have probably realised that the number and content of the rows displayed in the Input Inspector is governed by the choices you make. For example changing the Heat Loss Model From Ignore to Fixed Transfer Rate means that you need to supply additional data and so the additional rows Heat Transfer Direction, Heat Transferred and Heat Transfer Unit appear. Heat Transfer Direction Into the network means that the exchangers are acting as coolers i.e. the process side is generating heat. Two more entries in the Inspector and we are ready to make our first calculation. At the input boundary (node 4) we need to set the pressure, boundary temperature and ensure that the fluid is water. The Input Inspector should look like. (25°C inlet temperature and a pressure of 1 atm). In the known pressure outlet boundary (5), we need to set the pressure to 1 atm + 30000 Pascals (1.3 ATM). This is the pressure required to overcome losses in the cooling tower flow distributor. We can leave the temperature and fluid at the default entries since the flow will be out at this boundary and therefore the temperature, flow and fluid will be determined by the calculation. At the pump (node 6) we need to enter the design flow rate of 12.99 kg/s. The orientation of the pump should be set so that the red dot, which represents the pump discharge, points to pipe -2. If you need to change this click on the Discharge Pipe (RED) row in the Input Editor. Before we make the first calculation you should also check that elevations are correct for each element. In fluid flow calculations the relative elevations are important, which means that we need to select a datum or grade point. i.e. a point where all elevations are measured relative to. Normally we would select the ground to represent a 0 elevation. In this example we will take the pump centerline as representing 0 elevation. Check that your node elevations are: Table 5 To complete the data input make sure that all pipe lengths are set to the values in Table 4. At this stage we can leave the pipe diameters at the default values because our next task is to size all of the pipes. Press the Calculate button. You should see FluidFlow quickly solve the network and flow directional arrows appear on the pipes in the flowsheet. You can view the results in many ways. The simplest is to select the Results Tab in the Data Palette and click on each heat exchanger in turn on the flowsheet. In the results table the only row we are interested in at this stage is the mass flow through each exchanger. If we click on each exchanger in turn we can see that the flows do not match what we need from a cooling viewpoint. This means that the cooling system is unbalanced and will not work as specified in the initial design definition. You should be able to see that the flow through HE1 is greater than design and the flow through HE2 and HE3 is too low. There is a useful way to view these results. Since we will be constantly referring to these flows we can show them on the flowsheet. To do this click on the 3 exchangers, while holding down the shift key to make a multi-selection then in the Input Inspector, change the Properties on Flowsheet row from Hide to Show, set the Alignment to Left and press the Properties button to obtain the following dialog. Check the Flow in the Results tree and press the OK button. The flow rate through each heat exchanger will now be displayed on the flowsheet. If you need to change the flow units, you can either right mouse-click on the results tab, select Result Units [F9] and choose the desired flow units, in this case kg/s. Pipe Sizing: Before we balance the network we need to set the pipe sizes. There are three different options available in FluidFlow for sizing pipes: 1) Economic Velocity, 2) By Velocity & 3) By Pressure Gradient. This example will focus on using option 1: Economic Velocity. Economic Velocity: By selecting this option, we are allowing the software to determine the exact pipe size corresponding to the calculated economic velocity (shown in the Result). The economic velocity is a function of the fluid physical properties, the pipe materials, various capital and installation costs and the operating hours/year. In FluidFlow each time the pressure loss through a pipe is calculated, its economic velocity and hence the economic pipe size are also calculated. By default these values are shown in the results table. Select the Results Tab in the Data Palette and click on the branch pipes in the flowsheet. As we move from each branch pipe we can see that the Exact Economic Size row in the results table ranges from 83, 63 & 54mm. This means that we should select the nearest standard pipe size to the suggested economic sizes calculated for each branch pipe. Since the default pipe size is 2", (unless this has been changed or you are using a different environment) we may not need to make any size changes to the branch pipes as this represents a size of 52.5 mm which is already reasonably close to the suggested Exact Economic Size for the branches. Perhaps a good starting point is to focus on the economic velocities and sizes for the main headers. Check the supply or return header pipework and we can see that the exact economic size needed ranges from 124 mm to 58 mm. The calculated results for pipe node -2 are shown below. As we can see, the Size of the pipe is shown as 52.5 mm (default 2" size), the economic velocity is calculated as 1.23 m/s and the associated Exact Economic Size 115.9 mm. There is therefore a case for reducing the header size after each take off. This may reduce costs since we can utilize reducing Tees. We will use the economic size suggestions to change the pipe sizes in the following manner. Set the pipe size in the supply header to the first branch (tee node 9) and in the return header from the last branch (tee node 12) to be 4" Schedule 40 (Pipes -1, -2, -14, -21 and -9). Set the pipe in each header between the first and second branches to be 3" Schedule 40. At this stage, we will not make adjustments to the rest of the header as it is already 2" by default which in some cases, is already near the suggested economic sizes. If we need to, we can revisit this later if we still have high velocities in our lines. Recalculate and save your work at this point. The model should now appear as shown below. Note, you can rotate the junctions to enhance the presentation of the model by multi-selecting the relevant common nodes and selecting CTRL + R (Edit | Rotate Node). You may notice that you now have warning messages at four of the tee junctions. FluidFlow calculates correctly for reducing Tees, provided that you are using Idelchik, Miller or SAE types (this is the default). The tees at nodes 9 and 12 have connecting pipe sizes 4, 3 and 2" and pressure conversion effects from velocity to static or vice versa are taken into account when calculating pressure losses at the tee. Click on the tee, select the Input Tab and click the Nomenclature row in the Input Inspector if you need further information. For tees having 3 different branch sizes the loss relationships need to be extrapolated and you may find that you have warning messages to this effect. Warning messages are there to help you decide if you need to make design changes. In this case the warning messages refer to the possible loss of calculation accuracy in the tee junctions because relationship data has been extrapolated. Since there are no other available pressure loss relationships available for these types of reducing tees we have no choice but to accept this warning. Still it is worthwhile checking on the calculated K values to ensure these are within an expected range (-2 to 10). You can also cross-check by using another loss relationship (say Miller type) and verify that the calculated K values and pressure losses are similar. This is the case here and so we can safely ignore the warnings. In fact we can turn off some of the less severe warnings, but this is not recommended. Often, as engineers we like to keep header and return line sizes equal along the header and so a 4" or even 3" header/return line size is also a valid solution. Remember to take into account all possible operating scenarios and future considerations before making your final design decisions. For example, if we knew there was a possibility of a 4th heat exchanger being added at some time in the future then it would be a better solution to make the header and supply lines all 4". Pipe line sizing is always a balance between capital costs, operating costs and operating flexibility. Pump suction lines should always be given careful consideration. We must always ensure that we have an entry head at the pump suction above the net positive suction head required by the pump + a safety margin. FluidFlow will detect and warn if adverse conditions exist and as a first guess we will use a 4" pipe. Based on the changes made so far, the calculated results for the pump are as shown below. Balancing the network: We need to add additional elements in order to balance the network. In this design case, we are going to automatically size orifice plates to achieve the required design flow rate of water in each branch. Using orifice plates will allow you to drop pressure in a controlled manner in each branch so that the correct flow distribution is achieved. However, it is important to note that balancing is wasteful of energy and perhaps, an alternative design solution may be more applicable to your specific design case. In any event, using orifice plates will help us achieve our flow distribution goal. To obtain the distribution required we will use 3 orifice plates, one in each branch. Using orifice plates is a cheap solution to the distribution issue. However it may not prove very flexible if process conditions are likely to change. In this case using throttling valves may be a better solution. Add the orifice plates as shown in the flowsheet below, set the Elevation of each orifice to be 3.75 m, set the Automatically Size function to ON and set the Sizing Model to Size for Flow. We must now enter the design flow rate for each orifice plate as calculated in Table 2. By defining the flow rate at each orifice plate, we are by default entering the total mass flow rate for the system. In the first pass calculation, we had already defined the total mass flow rate at the pump (12.99 kg/s). This will therefore lead to duplication in flow rates and as such, we need to change the pump Sizing Model to Size for Pressure Rise. The design pressure rise from the pump can be established from adding the system pressure loss (calculated from pass 1 to be 117938.1 Pa) to the static head requirement which can be established from the equation P = ρ x g x H (P = 997 * 9.80665 * 6 = 58663 Pa). The design pressure rise therefore becomes 176601.1 Pa. We can now enter this design value for the pump on the Input Inspector of the Data Palette. Recalculate the model to refresh the results. We can now see a different flow distribution. We can also see that FluidFlow has automatically determined the size of orifice plate required in order to achieve the design flow rate through each branch. If we view the results for the pump, we can see a design requirement of 12.99 kg/s @ 18.1 m fluid with a NPSHa of 10.4 fluid. We have now almost completed the design. We will look at how to make final equipment specifications and how to consider the effect of likely operating scenarios in Part 2. Summarizing you should have learned the following skills: ➢How to select components from the component palette and how to place and move them on the flowsheet. ➢How to connect pipes between nodes. ➢How the Input Inspector works. ➢How to make data changes to the flowsheet elements, both individually and as a selected group. ➢How to show result text on the flowsheet ➢How to interpret the calculated results to select or optimize a pipe size. ➢How to balance a fluid network using orifice plates.