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

Compare with Current View Page History

« Previous Version 67 Next »

Automated Design Algorithms

Spring 4008 Team Members:Leslie Campbell, Becky Katz, Sarah Long, Rachael Moxley, Raul Santiago, Cherish Scott, [Tamar Sharabi]

Abstract

The Hydraulic Design and Unit Processes teams from the Automated Design Team are responsible for determining the best algorithms for each component of the water treatment plant. The ensemble constitutes the automated design program that will be used by the AguaClara team to quickly develop plans for new water treatment plants to be built in Honduras. The program will be tested for a range of flow rates to design water treatment plants. The Basis of Design explains the underlying assumptions used to design each plant.

Introduction and Objectives

The Master Program is the driver of the automated design program. It is the central file where values are entered, functions are called, and parameters are returned and displayed. Although work is in progress to incorporate LabVIEW as the tool to allow access of our program to the end user, right now the master program is the main page for the design team to test and develop the automated design program. This report aims to explain both the large scale basis of design and the small scale components of the program.

Basis of Design

The AguaClara Automated Design Master Program is rooted in many different assumptions. All detailed programs outlined in this report use the [Basis of Design - Assumptions] to provide non-user defined inputs for plant programming.

Master Program

The Master Program calls the functions written by the Hydraulic Design and Unit Processes Teams. Important parameters for drawing the plant in AutoCAD and other important parameters are returned to the program and displayed for easy perusal in tables.

Master Program Inputs

Go To This Page
[Integration MP Ins|Master Program Inputs}

Pipe Database

The Pipe Database contains arrays of nominal pipe sizes, their actual outer diameters and the minimum wall thicknesses based on Pipe Schedules 10, 30, 40, 80, 120,160 and Pipe Standard Dimension Ratios 17, 21, 26,32.5, and 41. From this information an array of available pipe sizes can be constructed given the Pipe Specification, which is the Pipe Schedule or SDR selected in the Master Program. There are a few programs written to return inner and outer diameters of pipes for certain inputs.

Hydraulic Design Functions

Inputs and Outputs to Hydraulic Design Functions

[Go To This Page]

Error formatting macro: include: java.lang.IllegalArgumentException: No link could be created for 'AGUACLARA:Integration HD Ins'.


[Go To This Page]

Error formatting macro: include: java.lang.IllegalArgumentException: No link could be created for 'AGUACLARA:Integration HD Outs'.


Pipe Sizes

A pipe design function was created so that all pipes could be designed quickly and corrected. In order to find the proper diameter the program iteratively solves for the flow that can fit through a pipe of a given diameter with the given head loss until a large enough diameter is found in the pipe database.

The inputs of this function are the maximum flow of the plant (Q plant ), the pipe specification of available dimensions (PipeSpecification), the maximum head loss ( h lmax), the sum of all the individual head loss coefficients of elbows, tees, valves, expansions and contractions (K sum) and the length of the pipe (L pipe).

The Q plant , and L pipe are assumed design values.

The PipeSpecification calls the Pipe Database, please refer to the Pipe Database section.

K sum values equal to the number of elbows, tees, valves, expansions and contractions multiplied by their corresponding K ~ values~. All corresponding K values are given in the Basis of Design tab.

h lmax values calculated using the following set of equations.

Re = Reynolds Number, to determine if flow is turbulent or laminar
Q = Flow Rate
D = Pipe Diameter
¿ = Kinematic viscosity of water

f = Friction factor, equation for either turbulent or laminar flow
epsilon = Roughness factor of PVC

h = Major head loss

The outputs of this function are actual should be nominal pipe diameters. pipe diameter referenced from the pipe database.

Launderer Design

This program is used to design the manifold that will be used for transporting water from the sedimentation tank to the plant leveling tank.

Algorithm
Given the maximum flow rate through the treatment plant, and the number of sedimentation tanks in the plant, the flow rate for each sedimentation tank is given. The length of the manifold section of the launder is the same as the length of the tank. To determine the number of orifices in the launder, the length of the sedimentation tank is divided by the specified orifice spacing: Unable to render embedded object: File (n orifices launder.jpg) not found.
The orifices will go parallel at each side of the launder, and they will be spaced every two lamella.


The elevation of the center line of the manifold will be set at the water level of the sedimentation tank minus half the space above the lamella: Unable to render embedded object: File (manifold elevation.jpg) not found.
The diameter of the pipe is estimated through an iterative process, given the pipe database, the flow rate ratio, Qratio, the assumed head loss through the launder, and the following equation:

To determine the orifice sizes, the length of the longest and shortest launder is estimated and their components are defined in order to obtain the major and minor head loss coefficients, K and f. Given the ratio of the flow between the launders, the long path flow divided by the short path flow, the orifice size can be determined:

The head loss through the launders must be determined in order to calculate the water level in the plant leveling tank. The total head loss is the sum of the major head loss, hf, the minor head loss, hl, head loss through the orifices, horifice, and the head loss through the manifold, hmanifold

After the total head loss has been determined, its value is used to re-determine the launder diameter.

Sludge Pipe Design

This program is used to design the manifold that will be used for the sedimentation tank drainage.

Algorithm

Given the maximum flow rate through the treatment plant, and the number of sedimentation tanks in the plant, the flow rate for each sedimentation tank is determined. With a constant orifice spacing of 10 cm, and the given length of the sedimentation tank, the exact number of orifices in the pipe can be calculated: Unable to render embedded object: File (number of orifices.jpg) not found.
With the drainage time set at 30 min, and the dimension values given bythe water level at the sedimentation tank, the width and length of the sedimentation tank, the initial drain flow rate is estimated: Unable to render embedded object: File (Qdrain.jpg) not found.
The diameter of the pipe is estimated through an iterative process, given the pipe database, the flow rate ratio, Qratio, and the following equation:


Later the head loss in the manifold is determined:


and with it, the diameter of the orifices:


Channel Design

The purpose of this function is to determine the dimensions of the channel. The channel will run along the ends of the sedimentation tanks, such that its length will be equal to the widths of the three sedimenation tanks. The dimensions of the width and depth of the channel depend on the water level in the sedtank, which should be about the same as in the channel and the flocculator, and the length of the flocculator, since water runs from the end of the flocculator through the channel.

The primary constraint for designing the channel connecting flocculation and sedimentation tanks is the depth of the channel. The channel must be designed to make sure that the transition between the two tanks does not break up the flocs formed in the flocculation tank. Therefore the average velocity gradient, (G.cell) was a key parameter in the design. G.cell is the average velocity gradient in the cell where the energy dissipation is assumed to be occurring. A G.cell of 15/s was used because it is the desired velocity gradient for the end of the flocculation tank. Anything higher could result in the breakup of flocs.

K.cell the loss coefficient for the channel transition and ¿.cell, energy dissipated were additional parameters. The factor b takes into account the flow rate of the plant, the average velocity gradient and energy dissipation.

The width and height is multiplied by 1.5 by convention. Opening of channel height determines the height for the entire channel. The width of the channel may also be based on construction constraints, such as the maximum space available between the flocculation and sedimentation tanks.

The length of the channel is a function of the number of sedimentation tanks, which is three in this design, and the thickness of the walls between the sedimentation tanks.

Grit Chamber Design

The purpose of this program is to design the dimensions of the grit chamber, the number of risers in the chamber through which rapid mix takes place, and the number of orifices in each riser. The goal of the orifices in the riser pipes is to create a linear relationship between the height of the water in the grit chamber and the flow rate through the plant. The Sutro Weir creates this linear relationship.

Unknown macro: {float}

null

Grit Figure 1: Sutro Weir

The pattern in which the orifices are drilled are to mimic the effects of this weir.

Unknown macro: {float}

null

Grit Figure 2: A pattern of holes which mimics the effects of the Sutro weir
Diameter of the Risers

The diameter of the riser pipes in the grit chamber is based on the fluid function Colebrook which calculates the diameter of a pipe based on the flowrate, length and head loss through the pipe:

This function calculates the flow through a pipe under either laminar or turbulent flow when there are only major losses.

Number of Risers

The number of riser pipes is determined given the restriction on the orifice area per pipe. First, the total orifice area is calculated given the headloss and flowrate.

The maximum inlet orifice area into a vertical pipe is normalized by the pipe area. This prevents the orifice flow from becoming so large that the orifice flows interfere with each other. This estimate is based on experience we have at Ojojona, and may be revised as we build more of these flow measuring devices. The orifices should also be placed on one side of the pipe so that the orifice jets don't impinge on each other.

This ratio is then multiplied by the total pipe area, then divided by the total orifice area.

Number of Orifices and Diameter of Orifices

The number and the diameter of the orifices in the riser pipe are both calculated using an iteration method. The diameter of orifices in the riser pipe is based on a metric and English drill bit sets, which the user specifies. The orifice area is first determined based on the largest drill bit in the selected drill bit array. Then the number of orifices at the first vertical spacing at the base of the riser is calculated. To determine the number of orifices at the first vertical spacing, first, the actual flow rate through the plant given the headloss though the risers is calculated. This is divided by the flow through the orifice:

After the number of orifices are determined at the base the number of orifices are determined at the 9 subsequent spaces. Based on this number of orifices the error between the ideal flow and the actual flow at each orifice level is compared and if the error is too large a smaller drill bit size is selected and the calculations are repeated. A smaller drill bit with a larger number of holes will reduce the amount of error, as it will more closely mimic the sutro weir. Once a drill bit size produces small enough error, this drill bit size is outputted with the corresponding array of the number of orifices at each vertical space.

Grit Chamber Dimensions

The dimensions of the grit chamber are specified as follows:

Unknown macro: {float}

null

Grit Figure 3: Grit Chamber Dimensions
Length

The length of the grit chamber is determined based on the space required to fit a series of riser pipes. The length of the riser pipes is calculated based on the four riser configuration.

Unknown macro: {float}

null

Grit Figure 4: Grit Chamber Riser Configurations

Four risers has been used as a constraint because the largest number of risers seen at large flow rates is three, so to include a factor of safety four risers were used. The riser length of four risers is the length of 2 elbows and 1 tee. An additional 2 pipe diameters was included in the length of the grit chamber to ensure that there is enough room to assemble pipe with in the grit chamber.

Width

The width of the grit chamber is the larger of the chemical drum platform width and the width of the riser pipes. The chemical drum platform is the diameter of the chemical drum plus extra space for walking, a design assumption currently is set at 1 foot. The width of the riser pipes is based on the four riser configuration, for the same reasons as length of the riser pipes. The width of four risers is calculated as the length of two elbows and a tee (refer to above riser configurations). An additional 2 pipe diameters is added to the width of the risers to ensure ease of pipe assembly with in the grit chamber.

Depth

The depth of the grit chamber was calculated based on the depth of the water in the grit chamber.

Unknown macro: {float}

null

Grit Figure 5: Grit Chamber depth calculation

To determine the water depth in the grit chamber, the water depth in the sedimentation tank was found in the sedimentation function. The head loss through the flocculator, determined in the flocculation function, was added to the sedimentation water depth. The head loss through the rapid mix pipe is a design assumption of 20 cm this height was added. The height of a tee, determined from the pipe database was then added. Half of an orifice diameter and extra space to ensure that the orifices start above the tee was added to the depth. Then the distance between the first and last vertical orifice spacing, which is a design assumption of 20 cm is added on, this is the height of the water level. Lastly, a freeboard height design assumption is added as the height of the wall above the water level. Then to determine the depth of the grit chamber from the platform the height of the bottom of the sedimentation tank to the platform must be subtracted.

Height of Risers

The height of the riser is specified as the depth of the grit chamber. If the risers are at least this height any overflow water will not continue to flow through the plant. It would not be ideal for the overflow to go through the plant because this increase in flow rate could cause less than ideal flocculation and sedimentation, and ultimately lead to high turbidities. Another pipe will have to be installed in the grit chamber to allow raw water overflow to flow out not through the plant.

Plant Leveling Tank

The purpose of this program is to design the leveling tank that will keep a constant water level throughout the plant, which in turn will optimize the operation of the plant, as well as facilitating the monitoring of the plant.
Algorithm
This component must maintain some dimensional consistency with the other components of the plant. It consists of having inlet pipes that connect to each sedimentation tank, and a circular weir in the center that will transport the water to the storage tank. It is in the weir where water will be chlorinated.
The height of the leveling tank's wall will be the same as the height, measured from the platform of the plant, as the wall for the channel and the sedimentation tank, which is 70 cm.
The water level in the PLT is the difference between the water level in the channel and the total head loss through the launders:

An estimate of the weir diameter is obtained from the weir equation:

The height of the weir is obtained after the nominal pipe size is determined from the pipe database, and the actual height difference between the weir and the water level is subtracted from the water level measured from the bottom of the leveling tank.
The width of the plant leveling tank will have as an aesthetic reference the diameter of the chlorine tank and is calculated as the difference between the diameter of the chlorine tank and the weir diameter plus the launder diameter. The length of the plant must fit the launders and should provide space for concrete, therefore it is calculated as the sum of the diameter of the three launders, the weir diameter, and the assumed concrete space of 0.5 m:

Plant Elevation Design

The Plant Leveling Tank function determines all of the water level elevations throughout the plant first relative to the bottom of the sedimentation tank.
Any variables with HW indicate the depth of water. Any value Z indicates a height.
The program first assigns values from the inputs that are arrays to individual values so that it is easier to determine what they are based on the variable name.

The headloss through the launder is found in the launder function and the height of the water in the channel is set as a design assumption. From these the actual height of the water in the PLT is calculated from the height of the water in the channel minus three times the headloss through the launder since there are three launders.

The number of orifices in the grit chamber are calculated by multiplying the sum of number of orifices at each height per riser by the number of risers in the grit chamber.

L.sedexits is the length of the exit pipes from the sedimentation tanks to the plant leveling tank, but for now it is set as a constant until we determine how to calculate it.

The headloss through the weir, will determine the height of water in the level tank: The headloss through the weir in the plant leveling tank is calculated with the headloss equation for a weir in the fluids functions file. Headloss is also calculated through the total number of launder orifices and the headloss through the launder manifolds.

The height of the sed tank is found by the height of the water in the sed tank plus the height of the freeboard, which is a design assumption.

The height of the top of the plate settlers (lamella) in the sed tank is found by adding the height of the bottom of the plate settlers to the vertical projected height of the lamella at angle alpha.

The height of the launders centered in the water above the plate settlers is found by subtracting the height of the top of the plate settlers from water in the sed tank, dividing by two, and adding the height of the height of the top of the plate settlers back again. This may be different from how the depth of the water above the launder is calculated in the sedimentation tank function. This should be checked.

The head loss through the pipes that take the water to the level tank needs to take into account that the flow won't divide quite equally between the pipes because of different total loss coefficients. We use conservation of mass and the fact that the head loss through each of the paths is the same to determine the actual head loss. First we calculate the minor loss coefficients for the exit pipes. This is based on the number of ninety degree turns in the pipe, which is a design assumption since it depends on the plant layout, times the Kel90 added to the Kexit for each pipe. Then the function HLsedexits is called on to calculate the headlosses.

ZTsed is, I think the height of the wall in the tank, calculated from the height of the water in the sed tank plus the freeboard. this is probably the same as the height dimension calculated from the sed tank program.

Unit Processes Design Functions

Inputs and Outputs to Unit Processes Functions

[Go To This Page]

Error formatting macro: include: java.lang.IllegalArgumentException: No link could be created for 'AGUACLARA:Integration UP Ins'.


[Go To This Page]

Error formatting macro: include: java.lang.IllegalArgumentException: No link could be created for 'AGUACLARA:Integration UP Outs'.


Sedimentation Tank Design

The design of the sedimentation tank is a critical piece of the design of the entire plant. Its properties, such as depth and critical velocity, are important in determining the dimensions and baffle spacing of the flocculator. The function requires two [user inputs] and [various assumptions] about the general design and layout of the tank. The function's [outputs] are used to generate the AutoCAD drawing and design report.

The function follows the basis design procedure outlined in CEE 454: Sustainable Small Scale Water Supply. Our design calls for three sedimentation tanks. This assumption is based on the flow rates we think our plants should handle and an attempt to keep the footprint of the plant a reasonably sized rectangle or square. Since all the tanks are identical, the sedimentation function provides the dimensions for a single one (with one third of the total flow rate).

The width of the tank is a user input determined by the width of the material used for the plate settlers.

The height of the tank is the sum of four separate calculations. The space beneath the plate settlers is assumed to be 1m. Since the flocculator's final water depth is equal to the depth of water in the sedimentation tank, the tank should not be too deep. However, this is enough space to allow for the formation of a sludge blanket. Below the plate settlers the walls will be sloped for drainage purposes. This slope should be between 45 and 60 degrees to ensure that the flocs will slide down. The length of the sloped walls is determined by the width of the tank and the slope. This sloped section can be couple with a straight section to guarantee 1 m of space below the lamella. The space between the top of the plate settlers and the water surface is equal to .25*spacing between adjacent launders. Since each tank has 1 launderer, the space between adjacent ones is equal to the tank width. This ratio should ensure equal flow of effluent through these pipes. The depth of the middle section of the tank is determined by the length and slope of the plate settlers. The total depth of the tank is equal to the sum of these three depths, plus a freeboard depth. Freeboard space is empty space between the top of the tank and the water surface

Finally, the length of the sedimentation tank is determined by the active area of the tank. This is the area that is actually used for sedimentation purposes and it is determined by the critical velocity in the tank.

Critical velocity is the rate at which a particle must fall to the bottom of the tank in order to ensure that it settles out. If the critical velocity is too large, flocs will not settle out. However a small critical velocity comes at the expense of area (so it is not practical to have an unnecessarily small velocity). Observations of the Ojojona plant recommend a critical velocity of approximately 15 m/day, although anywhere between 10 and 20 m/day is allowable. Critical velocity is also dependant on the upward velocity in the tank. We are designing our tanks to have an upward velocity of 100 m/day. We've found that this is the velocity allows for the formation of a sludge blanket in the bottom of the tank. Since a portion of the tank's length is rendered unusable due to the sloping of the lamella, the actual length of the tank is greater than the active length.

The number of lamella in the tank is determined by the tank's active length and the lamella spacing. Our design uses a lamella spacing of 5 cm and a slope of 60 degrees. These design parameters have proved successful in Ojojona. A channel runs along the width of each sedimentation tank and this limits the active length of the tank. Additionally, the diameter of the effluent launder must be accounted for in this calculation. The number of lamella in each tank is calculated based on this shorter length.

The sedimentation function is also responsible for calculating the height of the platform for the chemical storage drums. This height is calculated by adding the water depth in the channel and the water depth in the sedimentation tank.

Flocculator Design

The flocculator design algorithm is actually a series of functions working together. The main function - flocculator - is sent the [required values] and called by the master program. In turn, it calls the functions - uturnhole, shortcircuit, bafflepositions, and Gθmincheck. Ultimately, the flocculator function outputs the [necessary values] for the design report and the autoCAD team. The function relies on these [assumptions] in order to create its final design.

In order to create a square or rectangular footprint, the dimensions of the flocculator must be similar to that of a sedimentation tank. In order to maximize the amount of tank used for flocculation and limit the amount of materials used unnecessarily, the width of the floc tank is half the width of a sedimentation tank. This decreases the flow area thereby allowing for higher Gθ values with bigger baffle spacings. In our current design, the flocculator is comprised of two adjacent channels Figure Floc1 where the water makes a 180 degree turn between the channels.

Unknown macro: {float}

null

Floc Figure 1: Two channels in the flocculator as seen from above

The length of a channel is the same as the length of the sedimentation tank. Finally, the depth of the water at the end of the flocculator must be the same as the depth of water in the sedimentation tank. Due to headloss through the baffles, the water depth will be greater at the beginning of the tank. Additionally, the design calls for 10cm of free space between the water surface and the top of the tank.

After determining the dimensions of the flocculator, the function calculates the baffle spacing and number of baffles in each spacing. The baffle spacing is found using the following equation.

In this equation G is a vector of the ideal velocity gradients at each spacing. These values were calculated based on the recommendations of Shulz and Okun. A flocculator requires a minimum amount of mixing to be effective. The degree of mixing is expressed by Gθ, a dimensionless value found by multiplying the velocity gradient by the residence time. This value must be found at low flow in order to ensure that the tank does not fail when the actual flow rate is less than the design flow rate. The design assumptions assumes an ideal Gθ value of 5000 based on the flocculator at Ojojona. This value is divided by the number of baffle spacings in order to determine what Gθ value each section must achieve. The number of baffles in the first two spacings is determined based on the values of G and θ at the design flow rate. This is done to ensure that large G values do not break up flocs. The number of baffles in the final spacing is determined based on Gθ at low flow. This guarantees that the Gθ value for the entire tank is large enough. The number of baffles in the final section should be the greatest. Interestingly, Gθ is not dependent on the baffle spacing used and is instead determined by the ratio of flow rate to tank width. Regardless of the number of baffle spacings used, tanks with equal flowrates should have the same number of baffles. Therefore, the best way to increase Gθ is to decrease the width of the tank.

The flocculator function does a series of simple calculations to determine the head loss through the tank. This is done by finding the head loss through a single baffle in each of the three baffle spacings.

Multiplying this value by the number of baffles in each section and summing the results provides the total headloss for the tank. The water depth at the end of the flocculator plus head loss gives the water height at the beginning of the tank. The depth of the tank should be based on this water height plus freeboard to ensure that it will not overflow.

The flocculator function then calls another subfunction - shortcircuit. In a typical flocculator design the free space between the end of a baffle and either the water surface or the bottom of the tank is equal to 1.5*baffle spacing.The length of the upper and lower baffles is different. An upper baffle extends from the top of the tank downward until it is 1.5*b from the bottom of the tank. A lower baffles extends from the bottom of the tank up until it is 1.5*b from the water level at the end of the tank. This function does not account for the change in water level due to headloss throughout the tank. At large baffle spacings, the 1.5*b constraint will likely cause short circuiting. Short circuiting occurs when adjacent baffles no longer overlap and water can flow straight through the tank rather than up and down around the baffles. Quantitatively, this occurs when 3*baffle spacing approaches the water depth.

Unknown macro: {float}

null

Short circuiting in the flocculator

Our design demands a baffle overlap of at least 2 cm. The shortcircuit function checks to make sure this minimum value is achieved. If not, the function calculates a new ratio between baffle spacing and the height of the horizontal channel above or below a baffle.

The function than recalculates the baffle length of the baffles in this spacing section. The function returns a revised vector of baffle lengths.

The flocculator function is currently only capable of handling designs which call for two channels. The function calls on of two subfunctions in order to determine the baffle coordinates in these two channels. These values are used by the autoCAD team to draw the baffles. The function outputs a separate matrix for each channel. Bafflepositions.1channel is called if the length of the flocculator as determined by number of baffles time baffle spacings is less than the length of a single channel. In reality, this flowrate demands only a single channel, however in our plants the second channel will be filled with baffles at the greatest baffle spacing. Conversely, the functions calls bafflepositions.2channels if the length of the flocculator required by baffle spacing times number of baffles is greater than the length of the first channel.

The function returns a separate matrix for each channel. Each matrix has three columns. The origin (0,0) is set at the beginning and top of the first channel. The first column is the x position of each baffle. The second and third columns are the endpoints of the baffle. One major weakness in the current flocculator design process is that this subfunction will only work for two channels. This should be changed to make the program more versatile. The function first finds the x position of every baffle in the first channel. See the Flocculation Function mathCAD file for the step by step process. It checks to make sure that a baffle is not placed too close (less than the current baffle spacing) to the wall at the end of the channel. If a baffle is too close, this baffle is removed and the function begins assigning the x positions to the baffles in the second channel. The x coordinates in this vector are relative to the same datum; however the positions are found starting where the water enters the channel and working backward. Therefore, the x coordinates get smaller with each entry. Once again, the function checks to make sure that a baffle is not placed too close to the wall. If the length predicted by baffle spacing*number of baffles is less than the length of the two channels, extra baffles are added at the end of the second channel. These baffles will have the largest baffle spacing. Conversely, if the total length of the flocculator is less than the length demanded by baffle spacing*number of baffles, baffles are removed from the largest baffle spacing.

After assigning the x positions, the function adds the y coordinates to the matrices. Once again, the function assigns all the values for the first channel first. A baffle either starts at the top of the tank (y = 0) and extends downward an amount equal to the length or a baffle starts at the bottom of the tank (y = tank height) and extends upward an amount equal to its length. The first baffle in the first channels start at the beginning of the tank and extends upward. The function returns the matrix for each channel as well as the total number of baffles in the tank.

Next, the function calls its first subfunction - uturnhole. For structural reasons, the wall between the two channels must extend from one side of the flocculator all the way to the other. Therefore, the water must flow though a hole in this wall to move from one channel to the next. The shear through this hole must not break up flocs and the width of this hole must not be greater than the baffle spacing at the beginning of the second channel. In order to guarantee that the hole will not break up flocs, the shear through the hole should be equal to the shear through the last baffle spacing. In other words, the area of the hole should equal the flow area (channel width * baffle spacing) at the largest spacing. The function determines the baffle spacing at the beginning of the second channel and sets the width of the hole to this value minus a safety factor (1.5 cm in our current design). The height of the hole must be sufficient to equate the areas. The hole is a square for ease of construction. Additionally, it is assumed that the hole will take up a significant portion of the wall and therefore it can be placed in the center of the wall, rather than up or down depending on baffle placement. Ultimately, the function returns a vector including the width and height of the hole.

Finally, the flocculator function calls a subfunction, Gθmin.check, which calculates the Gθ value now that all the baffles have been placed. This function. This new value is compared to the absolute minimum allowable Gθ value for the tank (4500 in our design). The function returns a 1 if the Gθ is too low and a 0 otherwise. The flocculator function returns an error message if Gθmin.check returns a 1.

Chemical Feed Design

This function calculates the flow rate of alum based on the design assumptions.

Conclusions and Future Goals

In the rest of the semester we wish to finish the design algorithms, test our program against the current designs in Tamara and Ojojona, and come up with new designs for new cities. Explicitly, the launder, plant elevation, flocculator, and chemical feed design programs need to be constructed. Other functions need to be revised, and all functions need to be peer reviewed. The construction of a MathCAD file for the Basis of Design, where all constants used by the program will be stored and referenced, will help with the review of the design program. We will also examine the efficiency of our program's structure as we go so that redundant coding is avoided and work to realize how integration with the AutoCAD files will be accomplished such that future engineers will have access to the files and data created by our program.

  • No labels