You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 51 Next »

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 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.

Top View

Front View

Baffle

Flocculator Program Inputs and Outputs

Flocculation Tank Program Inputs
Flocculation Tank Program Outputs
Flocculation Tank AutoCAD Drawing Program

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.

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.

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.

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:

Unknown macro: {latex}

\large
$$
HW_

Unknown macro: {FlocEnd}

= HW_

Unknown macro: {Sed}

$$


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:

Unknown macro: {latex}

\large
$$
N_

Space: 2CUL Phase 2 Integration
Space: AAD Digital
Space: AguaClara
Space: Application Streamlining Initative
Space: arXiv public wiki
Space: BCS Journal Club
Space: Blacklight Virtual Summit 2022
Space: CASA Sevilla
Space: Chemistry IT (ChemIT)
A&S's Chemistry Department's web site (ChemIT)
Space: CIS Undergraduate Computing Lab
Space: CIT Hosting Documentation
Space: CIT Product Management
Space: CLAP (Critical Literacies and Pedagogies) - CUL Team
Space: Cloud Support
Space: CNF User Wiki
Space: CommonSpot at Cornell
Space: Cornell Info Sci PhD Wiki
Space: Cornell NanoScale Science and Technology Facility
Space: Cornell NYC Tech Chelsea Campus Project
Space: Cornell R User Group
Space: Cornell University Dashboard
Space: CPL Public Wiki
Space: CUGEO
Cornell University Geospatial community
Space: CUL Assessment Results: 2008 - 2018
Space: CUL Career Development Committee
Space: CUL Directors Leadership Team
Space: CUL Facilities
Space: CUL FOLIO
Space: CUL Human Resources
Space: CUL Inclusive Descriptive Practice Task Force
Space: CUL International Collaboration
Space: CUL-IT Desktop Services
CULIT Desktop Services Wiki page
Space: CUL Online Exhibits
Space: CUL Public Wiki
Space: CUL Research Data and Open Scholarship
Space: CUL Reserves
Documentation for the CUL Reserves Software, Ares, and other related topics.
Space: CUL Web Archiving
Space: Digitization Resources
Space: DLIT
Division of Library Information Technologies
Space: ECC Continuing Education Schedule
Space: ECE Techshop
Documentation for Research and Instruction Servers
Space: Elevate A Womens Leadership and Empowerment Series
Space: Engineering College Council
Space: ESW - Solar Cooker Project
Space: FOLIO Reporting
Space: Food Safety
The Food Safety Wiki aims to provide comprehsenive information and resources about food safety with a focus on microbial…
Space: Foundations of Artificial Intelligence
Space: FranklinCovey Training at Cornell
Space: Grass Roots GK12 Collaboration Page
Space: IMLS Shareable Authorities Forum
Space: Indonesian Association at Cornell Wiki
Space: Infant-Nutririon-Project
Space: IS Security and Policy Integration
Space: IVY+ Finance and Administration
Space: JCB Web Team
Space: Kuali Coeus (Research Administration)
Space: Lessons Learned WG
Space: Library Technical Services
Space: Literature and Media in Japan Glossary
Space: LLee-Research-Collaborators
Space: LTS Training Resources
Space: Machine Learning, Cornell
Space: Mann Learning Technologies Committee
Space: Mann Podcasting
Space: Metadata Working Group - Cornell University Library
Space: Michelle Paolillo Public Files
Space: OBIEE Users Group
Space: ODAA SQL Server
Space: PeopleSoft Functional Security Admins
Space: Persistent Identifiers
Space: PII Scanning Tools
Space: Preservation+Access: Digital Art Objects
Space: Preservation and Conservation Services
Space: PRL Project
The project focuses on implementing computational mathematics and on providing logicbased tools that help automate progr…
Space: Project Team Composite Space
Space: Quality Management
Space: Religion Ethics Environment Education
Space: Research Division Sandbox
Space: Rowgometer
A Better Ergometer Project
Space: SC Johnson College of Business - IT KB
Space: SCL Compliance
Space: Shibboleth at Cornell
Space: SimCafe
Space: Student Library Advisory Council (SLAC)
Space: Textiles at CUL exhibits
Space: The Art Market
Space: Triticeae Toolbox (T3)
Space: User Manual for Tassel
Space: Visual Resources Working Group
This space is for the Visual Resources Working Group.
Space: Workday Tech Point of View
Home for all of CIT's notes, diagrams, impact analysis, estimates, plans, analysis, etc. related to Workday.
Space: WSBN
= L + T} \over {S + T
$$


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

Unknown macro: {latex}

\large
$$
{{HW_

Unknown macro: {FlocEnd}

} \over {Pi_

Unknown macro: {HbMin}

}}
$$


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.

Unknown macro: {latex}

\large
$$
B_

Unknown macro: {FlocBaffle}

= S_

+ T_

Unknown macro: {FlocBaffle}

$$


The residence time in the flocculator is determined as follows:

Unknown macro: {latex}

\large
$$
Ti_

Unknown macro: {Floc}

= {{HW_

Unknown macro: {FlocEnd}

\cdot L_

Unknown macro: {FlocTank}

\cdot W_{FlocChannel}} \over {Q_

Unknown macro: {Plant}

}}
$$


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. 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:

Unknown macro: {latex}

\large
$$
HL_

Unknown macro: {FlocBaffle}

= {Kp \cdot ({{HW_{FlocEnd \over {S_

}}) \cdot Q_

Unknown macro: {Plant}

^2 } \over {2 \cdot g \cdot (S_

Unknown macro: {FlocBaffle}

\cdot W_

Unknown macro: {FlocChannel}

)^2 }}}
$$


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.

Unknown macro: {latex}

\large
$$
W_

Unknown macro: {FlocPortEst}

= S_

Unknown macro: {FlocBaffle}

$$


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.

Unknown macro: {latex}

\large
$$
W_

Unknown macro: {FlocPort}

= W_

Unknown macro: {FlocPortEst}

- S_

Unknown macro: {FlocChannel}

$$


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:

Unknown macro: {latex}

\large
$$
L_

Unknown macro: {FlocBaffleLower}

= HW_

Unknown macro: {FlocEnd}

- S_

Unknown macro: {FlocBaffle}

\cdot Pi_

$$

The upper baffles are set to line up with the top of the tank rather than the waterlevel.

Length of Upper Baffles:

Unknown macro: {latex}

\large
$$
L_

Unknown macro: {FlocBaffleUpper}

= H_

Unknown macro: {Floc}

- S_

Unknown macro: {FlocBaffle}

\cdot Pi_

$$


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 for step-by-step details of how the lamina, baffles, slots, and other tank details are drawn).

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.

As long as the port area is no larger than the valve area, the port area limits the flocculator drain time as desired.  In order to determine the port geometry, the port area is set to be equal to the area of the valve used to drain the flocculator.

The time required to drain a tank is

Unknown macro: {latex}

\large

$$
t = {{\sqrt

Unknown macro: {h_0 }

- \sqrt h } \over {{{A_

Unknown macro: {or}

} \over {2A_

Unknown macro: {res}

}}\sqrt {{

Unknown macro: {2g}

\over {K_

Unknown macro: {minor}

}}} }}
$$

where ho is the initial water height in the tank, h is the water height at time t, Aor is the area of the orifice through which the water drains (in this case the port or valve area), Ares is the plan area of the reservoir or tank, and Kminor 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

Unknown macro: {latex}

\large

$$
({{\pi D_

Unknown macro: {valve}

^2 } \over 4})
$$

and the minor loss coefficient is that associated with the chosen valve.
The flow through the tank is calculated as follows:

Unknown macro: {latex}

\large

$$
Q = {{\pi D^2 } \over 4}\sqrt {{

Unknown macro: {h_1 - h_2 }

\over {K_

Unknown macro: {minor}

}}}
$$

where h1 (the height inside the tank) is greater than h2 (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 a time step.  The flow rate is based on the difference in water height between successive "tanks" and the size time step is determined using known flocculator parameters. The resulting height due to the flow into and out of each of the "tanks" is computed. This process 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 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 stops 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, since it is equal to the port area. The square root of this area is the length of the side of the square port.  The length of the baffle slot is added as well for ease of construction.


  • No labels