Wiki Markup |
---|
{composition-setup} cloak.toggle.exclusive=false {composition-setup} h2. {toggle-cloak:id=Abstract} {color:blue}Abstract{color} {cloak:id=Abstract} Spring 2008 Team Members: [Leslie Campbell|lec38], [Becky Katz|bk96], [Sarah Long|sel43], [Rachael Moxley|rjm72], [Raul Santiago|rs595], [Cherish Scott|cns24], [Tamar Sharabi|tms43] 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 has been tested for a range of flow rates between 50gpm to 500gpm to design water treatment plants. The Basis of Design explains the underlying assumptions used to constuct each plant. {cloak} h2. {toggle-cloak:id=Introduction and Objectives} {color:blue}Master Program-Introduction and Objectives{color} {cloak:id=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 in so far as they have been determined this semester. {cloak} h2. {toggle-cloak:id=Basis of Design} {color:blue}Basis of Design{color} {cloak:id=Basis of Design} The AguaClara Automated Design Master Program is rooted in many different assumptions. All detailed programs outlined in this report use the following to provide non-user defined inputs for plant programming. \\ {include:Basis of Design - Assumptions} \\ {cloak} h2. {toggle-cloak:id=Master Program} {color:blue}Master Program{color} {cloak:id=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. h3. {toggle-cloak:id=MP ins} Master Program Inputs {cloak:id=MP ins} Go To This Page {include:Integration MP Ins}\\ {cloak} {cloak} h2. {toggle-cloak:id=Pipe Database} {color:blue}Pipe Database{color} {cloak:id=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. {cloak} h2. {toggle-cloak:id=Hydraulic Design Functions} {color:blue}Hydraulic Design Functions{color} {cloak:id=Hydraulic Design Functions} h3. {toggle-cloak:id=Inputs and Outputs to Hydraulic Design Functions} Inputs and Outputs to Hydraulic Design Functions {cloak:id=Inputs and Outputs to Hydraulic Design Functions} [Go To This Page|Integration HD Ins] {include:Integration HD Ins}\\ [Go To This Page|Integration HD Outs] {include:Integration HD Outs}\\ {cloak} h3. {toggle-cloak:id=Pipe Sizes} Pipe Sizes {cloak:id=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 headloss 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 headloss ( h ~lmax~), the sum of all the individual headloss 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 multipled 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. {include: Re(Q)} Re = Reynolds Number, to determine if flow is turbulent or laminar Q = Flow Rate D = Pipe Diameter ¿ = Kinematic viscosity of water {include:f Swamee-Jain} f = Friction factor, equation for either turbulent or laminar flow epsilon = Roughness factor of PVC {include:Darcy-Weisbach (Q)} h = Major head loss The *outputs* of this function are actual pipe diameter referenced from the pipe database. {cloak} h3. {toggle-cloak:id=Launderer Design} Launderer Design {cloak:id=Launderer Design} Inputs\- Q ~plant~, PipeSpecification Outputs\- SedPipe ~length~ , D ~orifice~, orifice ~dist~, manifold ~depth~ This program is used to design the manifold that will be used for transporting water from the sedimentation tank to the plant leveling tank. 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 launder is the same as the length of the tank. Water level on the sedimentation tank, measured from the bottom, is 2m. The water height above the launder is equal to the water level in the sedimentation tank minus the height of the top of the lamella, measured from the bottom, minus half the difference between the water level in the sedimentation tank. The orifices will go parallel at each side of the launder, and they will be spaced every two lamella. The diameter of the pipe is estimated through an iterative process, given the pipe database, the flow rate ratio, Q{~}ratio~, and the following equation: \\ {include:Manifold diameter} Later the head loss in the manifold is determined, and with it, the diameter of the orifices. Lastly, the head loss through the orifices is calculated. To design the pipe component that transports water to the leveling tank the pipe design program is used. After setting an acceptable head loss, the diameter of the outlet pipe is determined. In case the diameter for the outlet pipe is different from the diameter determined in the launder program, then the largest one should be chosen. {cloak} h3. {toggle-cloak:id=Sludge Pipe Design} Sludge Pipe Design {cloak:id=Sludge Pipe Design} Inputs\- Q ~plant~, PipeSpecification Outputs\- waste ~inr~, D ~orifice~, orifice ~dist~ This program is used to design the manifold that will be used for the sedimentation tank drainage. 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. Using the critical velocity, the plate settler's length and diagonal spacing, the upward velocity can be determined, which in turn can be used to determine the active area of the sedimentation tank. With the active area, the length of the sedimentation tank is determined, and with a constant orifice spacing of 10 cm, the exact number of orifices in the pipe can be calculated. With the drainage time set at 30 min, the constant water level of 2m, the width and length of the sedimentation tank, the initial drain flow rate is estimated. The diameter of the pipe is estimated through an iterative process, given the pipe database, the flow rate ratio, Q{~}ratio~, and the following equation: {include:Manifold diameter} Later the head loss in the manifold is determined, and with it, the diameter of the orifices. Lastly, the head loss through the orifices is calculated. {cloak} h3. {toggle-cloak:id=Channel Design} Channel Design {cloak:id=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. {include:Baffle Spacing (tapered flocculation)} 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. {cloak} h3. {toggle-cloak:id=Grit Chamber Design} Grit Chamber Design {cloak:id=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 holes in each riser. h5. Diameter of the Risers The diameter of the riser pipes in the grit chamber is based on the fluid function D.pipe which calculates the diameter of a pipe based on the flowrate, length and head loss through the pipe using the Hagen-Poiseuille. (insert equation) {anchor:Colebrook} This function calculates the flow through a pipe under either laminar or turbulent flow when there are only major losses. h5. 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. (insert equation) 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. (insert equation) h5. Number of Orifices h5.and Diameter of Orifices h5. Grit Chamber Dimensions The dimensions of the grit chamber are specified as follows: {float:right|border=2px solid black|width=200px} [!Automated Design Final Algorithm Report Spring 2008^Grit Chamber Dimensions.JPG|width=200px!|Automated Design Final Algorithm Report Spring 2008^Grit Chamber Dimensions.JPG] h5. Grit Figure 1: Grit Chamber Dimensions {float} h5. 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. {float:right|border=2px solid black|width=200px} [!Automated Design Final Algorithm Report Spring 2008^Grit Chamber-Riser configuration.JPG|width=200px!|Automated Design Final Algorithm Report Spring 2008^Grit Chamber-Riser configuration.JPG] h5. Grit Figure 2: Grit Chamber Riser Configurations {float} 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. h5. Width The width of the grit chamber is the larger of the chemical drum platform 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 as 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. h5. Depth The depth of the grit chamber was calculated based on the depth of the water in the grit chamber. {float:right|border=2px solid black|width=200px} [!Automated Design Final Algorithm Report Spring 2008^Grit Chamber.jpg|width=200px!|Automated Design Final Algorithm Report Spring 2008^Grit Chamber.jpg] h5. Grit Figure 3: Grit Chamber depth calculation {float} 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 20cm 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 20cm 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. h5. 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. {cloak} h3. {toggle-cloak:id=Plant Leveling Tank} Plant Leveling Tank {cloak:id=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. 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. As specified in the assumptions, 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. Setting the base of the leveling tank at the same level as the center of the plate settlers, the height of the wall will be equal to the 2 m of the water level minus the height of the center of the plate settlers, measured from the bottom of the sedimentation tank, plus the freeboard of the sedimentation tank, which is 10 cm. The height of the weir is equal to the water level of the sedimentation tank minus the height of the center of the plate settlers minus the head loss going through the launders. To determine the diameter of the weir, the weir equation is used: _q_ _= 2/3_ _c{_}{_}{~}d{~}{_}_ ¿D (2 g)_{_}{^}1/2{^}_ _h{_}{_}{^}3/2{^}_ _(1)_ _where_ _q_ _= flow rate (m{_}{_}{^}3{^}{_}_/s)_ _h_ _= head on the weir (m)_ _D = diameter of weir (m)_ _g_ _= 9.81 (m/s{_}{_}{^}2{^}{_}_) - gravity_ _c{_}{_}{~}d{~}{_}_= discharge constant for the weir \-0.62_ {cloak} h3. {toggle-cloak:id=Plant Elevation Design} Plant Elevation Design {cloak:id=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. {cloak} {cloak} h2. {toggle-cloak:id=Unit Processes Design Functions} {color:blue}Unit Processes Design Functions{color} {cloak:id=Unit Processes Design Functions} h3. {toggle-cloak:id=Unit Processes puts} Inputs and Outputs to Unit Processes Functions {cloak:id=Unit Processes puts}\\ [Go To This Page|Integration UP Ins] {include:Integration UP Ins}\\ [Go To This Page|Integration UP Outs] {include:Integration UP Outs}\\ \\ h3. {toggle-cloak:id=Sedimentation Tank Design} Sedimentation Tank Design {cloak:id=Sedimentation Tank Design} The design of the sedimentation tank{anchor: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|User Inputs] and [various assumptions|Basis of Design - Assumptions] about the general design and layout of the tank. The function's [outputs|Integration UP Outs] 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. {anchor:critical velcoity} {include:Sedimentation - critical velocity} 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. {anchor:number of lamella} {include:Sedimentation - number of lamella} 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. {cloak} h3. {toggle-cloak:id=Flocculator Design} Flocculator Design {cloak:id=Flocculator Design} The flocculator design algorithm is actually a series of functions working together. The main function - flocculator - is sent the [required values|Integration UP Ins] 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|Integration UP Outs] for the design report and the autoCAD team. The function relies on these [assumptions|Basis of Design - 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 Gtheta 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. {float:right|border=2px solid black|width=200px} {anchor:two adjacent channels}[!Automated Design Final Algorithm Report Spring 2008^Floc Layout Pic.jpg|width=200px!|Automated Design Final Algorithm Report Spring 2008^Floc Layout Pic.jpg] h5. Floc Figure 1: Two channels in the flocculator as seen from above {float} 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]. {anchor:equation} {include:floc baffle spacing} 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 Gtheta value of 5000 based on the flocculator at Ojojona. This value is divided by the number of baffle spacings in order to determine what Gtheta value each section must achieve. The number of baffles in the first two spacings is determined based on the values of G and theta 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 Gtheta at low flow. This guarantees that the Gtheta value for the entire tank is large enough. The number of baffles in the final section should be the greatest. Interestingly, Gtheta 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 Gtheta 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. {anchor:head loss} {include:flocculator - headloss through a tank} 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. {float:right|border=2px solid black|width=200px} {anchor:Short circuiting}[!Automated Design Final Algorithm Report Spring 2008^Short Circuit.jpg|width=200px!|Automated Design Final Algorithm Report Spring 2008^Short Circuit.jpg] h5. Short circuiting in the flocculator {float} 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. {anchor:new ratio} {include:ratio between baffle spacing and height of 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. {cloak} h3. {toggle-cloak:id=Chemical Feed Design} Chemical Feed Design {cloak:id=Chemical Feed Design} This function calculates the flow rate of alum based on the design assumptions. {cloak} {cloak} h2. {toggle-cloak:id=Conclusions and Future Goals} {color:blue}Conclusions and Future Goals{color} {cloak:id=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. {cloak} |
Page History
Overview
Content Tools