Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
h1. Vertical Flow Flocculation Design Program

This flocculator program determines the size, number, and spacing of the flocculator channels and baffles, based on the results of the Computational Fluid Dynamics (CFD) team. The tank is designed give an optimal energy dissipation rate to mix the alum (coagulating chemical) with the incoming water and to maximize the opportunity for flocs to form.
The program also outputs arrays of the location of each baffle in the tank; these arrays are used by the AutoCAD scripts to draw the baffles in place in the flocculator.
The programs used are Flocculator 3 (the design program) and floctank (the autoCAD script). In the scheme of the whole plant, the flocculation tank is drawn after the sedimentation tank (so many of our variables are constrained by an already-drawn sedimentation tank).
For very high flow rates, [horizontal flow flocculation|Horizontal Flow Flocculation Design Program] will be used. The program used for this is currently Flocculator 3 horizontal and it is under construction. When completed it will be integrated into the main Flocculator 3 program.

h5. Top View

!top view floc tank.PNG|width=1081,height=596!

h5. Front View

!side view floc tank.PNG|width=1166,height=425!

h5. Baffle

!Baffle with port.PNG|width=304,height=409!

h2. Flocculator Program Inputs and Outputs

[Flocculation Tank Program Inputs|Flocculation Tank Design Program Inputs]
[Flocculation Tank Program Outputs|Flocculation Tank Design Program Outputs]
[Flocculation Tank AutoCAD Drawing Program|AutoCAD Flocculation Tank Program]

h3. Flocculation Design Algorithm

_Each section outlined below corresponds to its equivalent MathCAD code, identified by the same titles._

 _\-The first part mainly informs and establishes the equations and design ideas used in the actual drawing of the tank._

 \-_The second part determines the number, spacing, energy dissipation, and collision potential of the necessary baffles._

 \-_The third part determines the width, height, size, and the other parameters needed to draw the flocculation tank with the baffles inside it.  This section is heavily relied upon by the MathCAD code in floctank that draws the plant._

 \-_The last part creates and outputs the matrix of baffle positions._
\\

h6. Computational Fluid Dynamics (CFD) Results and Functions

The research that went into this program was done by the CFD team.  As such, many of the equations used have their basis in experimental findings; some of their work can be directly applied to the daily drawing of flocculation tanks, and some support the parameters used in this program. 

For example, a table of minor loss coefficients indicates that the minor loss coefficient is very large for small h/b values, where h/b values are the ratio of water depth to baffle spacing. Linear interpolation is used to create functional relationships as a function of these h/b ratios.  Then, an iterative code that determines the spacing of the floc baffles uses these relationships.  Calculating the collision potential per baffle and the spacing that gives the target energy dissipation rate continue to use the parameters set by the research team.

h6. Flocculator Functions

The critical balance in the flocculator is between ensuring that the alum and entering water are meeting the energy dissipation (ED) and collision potential (CP) goals, and not breaking up flocs that have formed.

Calculating the amount of baffle spaces that give the target ED rate is done with an iterative code that relies on the CFD functions described above.  Then, the collision potential per baffle and max ED-to-CP ratio determines the baffle distribution, _e.g. ED.Target(Psi)_.

The number of spaces per channel is determined by an iterative code that finds the correct ED rate & cumulative CP at each channel.  The last channel (the one immediately preceding the sed tank) is then forced to have an even number of baffles.  This is because the water must flow under the last baffle and up to the sed tank.

h6. Calculation of Flocculator Geometry

The height of water at the end of the flocculation tank is set to be the same as the height of water at the beginning of the sedimentation tank, _i.e. no head loss occurs between the two:_
{latex}
\large
$$
HW_{FlocEnd} = HW_{Sed}
$$
{latex}
\\
The width of the floc channel is calculated based on the CFD functions, but if this value is less than 45 cm, the width will default to 45 cm.  This minimum value was set to ensure that a person can fit into the channel for construction purposes.

The number and spacing of floc spaces and floc baffles is calculated, as well as the CP, for the specific tank being drawn. Both the minimum and maximum number of floc spaces use the equation:
{latex}
\large
$$
N_{Spaces} = {{L + T} \over {S + T}}
$$
{latex}
\\
When calculating both the min and the max, L represents the length of the sed tank _L.Sed_ and T represents the thickness of a baffle _T.FlocBaffle_. To get the maximum number of floc baffles, S is taken as the minimum floc baffle spacing _S.FlocBaffleMin_. However, to get the minimum number of floc baffles, S is taken as
{latex}
\large
$$
{{HW_{FlocEnd} } \over {Pi_{HbMin} }}
$$
{latex}
\\
where _Pi.HbMin_ is a Basis of Design parameter describing the ratio of water depth to baffle spacing.

The center-to-center distance between baffles includes the spacing between baffles and the thickness of the baffles, for each channel. This is an array with an element for each channel, as each channel may have different baffle spacing.
{latex}
\large
$$
B_{FlocBaffle} = S_{FlocBaffle} + T_{FlocBaffle}
$$
{latex}
\\
The residence time in the flocculator is determined as follows:
{latex}
\large
$$
Ti_{Floc} = {{HW_{FlocEnd} \cdot L_{FlocTank} \cdot W_{FlocChannel}} \over {Q_{Plant}}}
$$
{latex}
\\
The height of water at the beginning of the flocculator is based on the height of water at the end of the flocculator (which is the same as in the sedimentation tank), plus the headloss through the flocculator. The head loss is determined per baffle (and per channel, and in the whole flocculator) using the HL function in the [fluids functions program|Fluids Functions Design Program]. An additional 10 cm of freeboard space was added to the water level (HW) found at the beginning of the flocculator to determine the height of the flocculator walls.

The head loss per baffle in each channel:
{latex}
\large
$$
HL_{FlocBaffle} = {{{Kp \cdot ({{HW_{FlocEnd}} \over {S_{FlocBaffle}}}) \cdot Q_{Plant}^2 } \over {2 \cdot g \cdot (S_{FlocBaffle} \cdot W_{FlocChannel})^2 }}}
$$
{latex}
\\
Water flows between channels in the flocculator through ports cut in the concrete. The area of these ports is determined to ensure flocs will not be broken up. The width of these ports varies by channel, as the baffle spacing may be different from channel to channel.
\\
The energy dissipation rate through the ports is set to be same as around the baffles; the dimensions of the port are calculated to be the same as that of the baffles.
{latex}
\large
$$
W_{FlocPortEst} = S_{FlocBaffle}
$$
{latex}
\\
The width of these ports is set to include the thickness of the concrete lip needed to hold the baffle in place. It should be noted that this lip needs to be taken into account when determining baffle spacing for smaller plant when this length loss becomes significant.
{latex}
\large
$$
W_{FlocPort} = W_{FlocPortEst} - S_{FlocChannel}
$$
{latex}
\\

h6. Position Calculations for Each Baffle

The length of the lower floc baffles is determined based on the height of water at the end of the floc tank and the water as it goes around each turn. The baffles are oriented to go up-down-up-down so that the flow of water is smooth through the tank. This order, however, is reversed in the last channel, since there is an even number of baffles and the water must flow under the last baffle and up to the exit port that leads to the sed tank.

Length of Lower Baffle:
{latex}
\large
$$
L_{FlocBaffleLower} = HW_{FlocEnd} - S_{FlocBaffle} \cdot Pi_{FlocBaffle}
$$
{latex}
The upper baffles are set to line up with the top of the tank rather than the waterlevel.

Length of Upper Baffles:
{latex}
\large
$$
L_{FlocBaffleUpper} = H_{Floc} - S_{FlocBaffle} \cdot Pi_{FlocBaffle}
$$
{latex}
\\
The last channel in the flocculator must be treated differently than the other channels since there are more constraints. The inlet channel to the sed tank connects to the outlet of the floc tank by an exit port. This already has a size and location by the time the floc tank is drawn and designed. Additionally, as described above, there are an even number of baffles in this last channel, and there obviously cannot be any baffles drawn in the way of the exit port.
\\
\\
Therefore the program that places the baffles for the last channel first considers the baffle spacing. If the spacing for the baffles is smaller than the width of the exit port, there will either be one or two baffles that fall within the exit port space, in our plant designs (since larger flows will switch to horizontal flow, ideally).
\\
\\
If there is one baffle in the way, the program respaces the baffles, shifting them down the channel, and leaving only the exit port width at the end. If there are two baffles, the program must delete two baffles, to keep the even number, and since the spacing in the last channel must be greater than the spacing in any other channel. It then respaces the remaining baffles evenly.

The placement of the baffles in the flocculator is determined by algorithms that create a matrix of baffle displacements from the end of the flocculator (see this [drawing program|AutoCAD Flocculation Tank Program] for step-by-step details of how the lamina, baffles, slots, and other tank details are drawn).
\\
\\

h6. Port size calculations

Ports need to be cut out of the bottom of the lower baffles so that water is not trapped between them when the flocculator is being drained. The ports must be on alternating sides of the lower baffles so that water does not move linearly (bypassing the mixing process) through the flocculator.

In order to determine the port geometry, it is assumed that the port area is set wouldto be equal to the area of the valve area used to drain the flocculator. As long as the port area is no larger than the valve area, the drainport timearea islimits linear with the numberflocculator of "tanks" formed by the space between lower bafflesdrain time.

The time required to drain a tank is
\\
{latex}
\large

$$
t = {{\sqrt {h_0 } - \sqrt h } \over {{{A_{or} } \over {2A_{res} }}\sqrt {{{2g} \over {K_{minor} }}} }}
$$

{latex}
where h{~}o~ is the initial water height in the tank, h is the water height at time t, A{~}or~ is the area of the orifice through which the water drains (in this case the port or valve area), A{~}res~ is the cross-sectional area of the reservoir or tank, and K{~}minor~ is the minor loss coefficient associated with the flow.

Using the above equation, the flocculator can be separated into two parts. The first part is the horizontal portion above the top lower baffles where the water drains as a single tank. The second part is the portion below the top of the lower baffles where these baffles form small "tanks" within the flocculator. For the upper portion, the area of the orifice is the area of the valve
{latex}
\large

$$
({{\pi D_{valve}^2 } \over 4})
$$


{latex}
and the minor loss coefficient is that associated with the valve of choice.
The flow through the tank is calculated as follows:
{latex}
\large

$$
Q = {{\pi D^2 } \over 4}\sqrt {{{h_1 - h_2 } \over {K_{minor} }}}
$$

{latex}
where h{~}1~ (the height inside the tank) is greater than h{~}2~ (the height outside the tank). If the water height outside the tank is higher than that inside the tank, the flow is assigned a value of zero. This equation is easily applied to the upper portion of the tank, but must be applied individually to the spaces between the lower baffles.

Using this equation, a function is defined to calculate the flow rate through each port for an incremental time based on the difference in water height between successive "tanks." The time step is determined using known flocculator parameters. The resulting height change due to the flow into and out of each of the "tanks" is computed. This iteration is repeated until the water height in each of the "tanks" is below 1mm. The cumulative time is then returned from the function as the total time required to drain the flocculator.

A function to determine the valve diameter calls the time function described above. The valve diameter function iterates from the smallest possible diameter to the largest diameter, calculating the each respective drain time using the time function. The valve diameter function returns the smallest diameter that allows the flocculator to drain within the time defined by the user. The iteration breaks once a time no greater than 110% of the desired time is found to ensure the most cost-effective port size.

The valve diameter returned is used to calculate the cross-sectional area of the valve. Recall that this area is set equal to the port area. The square root of this area is the length of the side of the square port.

\\