Computer Modeling Applications
Computer Modeling Applications
International Standard Book Number-13: 978-1-4987-7654-7 (Hardback) This book contains information
obtained from authentic and highly regarded sources. Reasonable efforts have been made to publish
reliable data and information, but the author and publisher cannot assume responsibility for the validity of
all materials or the consequences of their use. The authors and publishers have attempted to trace the
copyright holders of all material reproduced in this publication and apologize to copyright holders if
permission to publish in this form has not been obtained. If any copyright material has not been
acknowledged please write and let us know so we may rectify in any future reprint.
Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced,
transmitted, or utilized in any form by any electronic, mechanical, or other means, now known or hereafter
invented, including photocopying, microfilming, and recording, or in any information storage or retrieval
system, without written permission from the publishers.
For permission to photocopy or use material electronically from this work, please access
www.copyright.com (http://www.copyright.com/) or contact the Copyright Clearance Center, Inc. (CCC),
222 Rosewood Drive, Danvers, MA 01923, 978-750-8400. CCC is a not-for-profit organization that
provides licenses and registration for a variety of users. For organizations that have been granted a
photocopy license by the CCC, a separate system of payment has been arranged.
Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are
used only for identification and explanation without intent to infringe.
List of Figures
List of Tables
List of Computer Programs
Appendix Contents
Preface
Preface and Acknowledgment to First Edition
Authors
Authors of First Edition
List of Symbols and Abbreviations
List of Acronyms
Chapter 3 Computer Modeling Applications for Water Resources, Usage, Groundwater, and Water
Storage and Distribution
3.1 Introduction
3.2 Water Sources and Footprints
3.2.1 Introduction
3.2.2 Water Footprint
3.2.3 Source Selection
3.3 Population Growth and Consumption Design Rates
3.4 Fire Demand
3.5 Groundwater Flow
3.6 Water Storage
3.6.1 Water Storage
3.6.2 Mass Curve (Rippl Diagram and S-Curve)
3.7 Water Distribution
3.7.1 Introduction
3.7.2 Patterns of Pipelines in Water Networks
3.7.3 Viscous Flow in Closed Conduits
3.7.3.1 Fundamental Equations for an Incompressible Flow
3.7.4 Flow in Pipes
3.7.4.1 Laminar Flow (HagenPoiseuille Flow)
3.7.4.2 Turbulent Flow
3.7.4.3 Minor Losses
3.7.5 Pipes in Series
3.7.5.1 Equivalent-Velocity-Head Method
3.7.5.2 Equivalent-Length Method
3.7.6 Pipes in Parallel (Pipe Network)
3.7.6.1 Disadvantages of the Hardy Cross Method
3.7.6.2 Analysis of Pipe Networks by the Finite Element Method
3.7.6.3 Advantages of the Finite Element Method
3.8 Structural Design of Storage Tanks
3.8.1 Analysis of Forces
3.8.1.1 Circular Tanks
3.8.1.2 Rectangular Tanks
3.8.2 Design of the Section
3.9 Homework Problems in Water Resources, Water Storage, and Water Distribution
3.9.1 Discussion Problems
3.9.2 Specific Mathematical Problems
References
Chapter 5 Computer Modeling Applications for Wastewater Collection System and Treatment
Technology and Disposal
5.1 Introduction
5.2 Sewers and Sewerage Systems
5.2.1 Advantages and Disadvantages of Sewer Systems
5.2.1.1 Separate System
5.2.1.2 Combined System
5.2.1.3 Other Considerations
5.2.2 Flow Rates of Sanitary Wastewater
5.2.3 Storm Water
5.2.4 Hydraulics of Sewers
5.2.5 Flow Friction Formulae
5.2.6 Design Computations
5.2.6.1 Capacity of Flow Estimates
5.2.6.2 Self-Cleansing Velocities
5.2.7 Summary of Sewer System Design
5.2.8 Corrosion in Sanitary Sewers
5.2.8.1 Sulfide Buildup Estimates
5.2.8.2 Filled Pipe Conditions
5.2.8.3 Partially Filled Pipe Conditions
5.3 Wastewater Disposal for Rural Inhabitants
5.3.1 Septic Tanks
5.3.1.1 Introduction
5.3.1.2 Designing Septic Tanks
5.3.1.3 Septic Tank Effluents
5.3.2 Imhoff Tanks
5.4 Sources and Evaluation of Wastewater Flow Rates
5.5 Concept of PE
5.6 Reasons for Treating Wastewater
5.7 Wastewater Treatment Unit Operations and Processes
5.8 Preliminary Treatment: Grit Removal
5.9 Secondary Treatment (Aerobic and Biological)
5.9.1 Introduction
5.9.2 Suspended Growth Systems (Aerobic Suspended Growth Process): Activated
Sludge Process
5.9.3 Activated Sludge Process Kinetics
5.9.4 Factors Affecting the Activated Sludge Process
5.9.4.1 Volume and Sludge Loadings
5.9.4.2 Sludge Age, Mean Cell Residence Time, Solids Retention Time, or Cell
Age
5.9.4.3 Effects of SVI (Mohlman Sludge Volume Index)
5.9.4.4 SDI or Donaldson Index
5.10 Attached Growth Treatment Processes: Trickling Filter
5.10.1 Introduction
5.10.2 Recirculation to the Trickling Filter
5.10.3 Efficiency of a Trickling Filter (BOD Removal Efficiency)
5.10.3.1 NRC Formula
5.10.3.2 Velz Formula
5.10.3.3 Rankin Formula
5.10.3.4 Rumpf Formula
5.10.3.5 Eckenfelder Equation
5.10.3.6 Galler and Gotaas Equation
5.10.4 Overall Treatment Plant Efficiency
5.10.5 Trickling Filter Clarifier
5.11 Combined Suspended and Attached Growth Systems WSP, Lagoon, or Oxidation Pond
5.11.1 Introduction
5.11.2 WSP Design
5.11.2.1 General
5.11.2.2 Completely Mixed Conditions
5.11.2.3 Maturation WSP
5.12 Sludge Treatment and Disposal
5.12.1 Sludge Digestion
5.12.2 Sludge Dewatering
5.12.2.1 Introduction
5.12.2.2 Filtration of Sludge
5.12.2.3 Centrifugation
5.13 Wastewater Disposal
5.13.1 Dilution
5.13.2 Disposal into Natural Waters
5.13.2.1 Introduction
5.13.2.2 Oxygen Renewal and Depletion in Rivers
5.13.2.3 Dissolved Oxygen Sag Curves in Rivers
5.13.3 Disposal into Lakes
5.13.4 Disposal in Estuaries
5.14 Homework Problems in Wastewater Collection System, Wastewater Treatment
Technology, and Disposal
5.14.1 Discussion Problems
5.14.2 Specific Mathematical Problems
References
Chapter 6 Computer Modeling Applications for Municipal Solid Waste Classification, Quantities,
Properties, Collection, Processing, Material Separation, and Cost Estimates
6.1 Introduction
6.2 Physical Properties of Solid Waste
6.2.1 Moisture Content
6.2.2 Particle Size
6.2.3 Permeability of Compacted Waste
6.2.4 Apparent Density
6.2.5 Angle of Repose
6.2.6 Size of Reduction in Volume (Reduction Volume)
6.2.7 Material Abrasiveness
6.3 Chemical Properties of Solid Waste
6.3.1 Fusion Point of Ash (Ash Fusibility)
6.3.2 Proximate Analysis
6.3.3 Ultimate Analysis
6.3.4 Volatile Solids
6.3.5 Heat Value of Refuse
6.4 Solid Waste Collection
6.5 Solid Waste Collection, Processing, and Material Separation
6.6 Sanitary Landfill
6.7 Biochemical Processes, Combustion, and Energy Recovery
6.8 Cost Estimates for Solid Waste Facilities
6.8.1 Capital Cost and Capital Recovery Factor
6.8.2 Present Worth Value and Present Worth Factor
6.8.3 Sinking Fund and Sinking Fund Factor
6.8.4 Total Cost
6.9 Homework Problems in Computer Modeling Applications for Municipal Solid Waste
Classification, Quantities, Properties, Collection, Processing, Material Separation, and
Cost Estimates
6.9.1 Discussion Problems
6.9.1.1 Solid Waste Research
6.9.1.2 Type of Waste
6.9.1.3 Solid Waste Types
6.9.1.4 Solid Waste Amount
6.9.1.5 Solid Waste Properties
6.9.1.6 Solid Waste Collection
6.9.1.7 Solid Waste Recycling and Reuse
6.9.1.8 Solid Waste Treatment
6.9.1.9 Solid Waste Finance and Costs
6.9.2 Specific Mathematical Problems
6.9.2.1 Amount of Solid Waste
6.9.2.2 Solid Waste Properties
6.9.2.3 Solid Waste Collection
6.9.2.4 Solid Waste Treatment and Disposal
6.9.2.5 Solid Waste Finance and Cost Analysis
References
Figure 2.5 Surface tension: (a) capillary rise (wetting liquid); (b) capillary depression (nonwetting
liquid)
Figure 3.11 Pipe flow velocity profile and shear stress distribution
Figure 4.2 Sedimentation tanks: (a) schematic diagram of a rectangular horizontal sedimentation tank; (b)
schematic diagram of a circular sedimentation tank
Figure 5.4 A schematic diagram of a septic tank: (a) elevation; (b) side view; (c) plan
Figure 7.2 (a) Typical dimension for single, high-efficiency cyclone. (b) Nomenclature for a single, high-
efficiency cyclone
Figure 7.5 High-voltage electrostatic precipitators: a) plate type precipitator and b) Tube type
precipitator
Figure 7.8 The gaseous contaminants that can be removed by catalytic system at both room temperatures
and elevated temperatures. (a) Teledynes room-temperature catalyst at room temperature
effectively removes carbon monoxide (CO), ozone (O3), hydrogen sulfide (H2S), sulfur
dioxide (SO2), formaldehyde (HCHO), and nitrogen dioxide (NO2). (b) Teledynes room-
temperature catalyst at elevated temperature effectively removes hydrogen cyanide (HCN),
propane (C3H8), methane (CH4), and isobutane (C4H10)
Figure 7.9 (a) Countercurrent-packed column: a typical countercurrent-packed column absorber system.
(b) Countercurrent-packed column. (c) Countercurrent-packed column: graphical
presentation of the packed column
Figure 7.11 (a) Schematic of a regenerative adsorption-type system. (b) Schematic of a nonregenerative
adsorption-type system
Figure 7.12 (a) An example of plume rise calculations. (b) An example of the reduced ground-level
contaminant concentration due to doubling of the effective stack height
Figure 7.13 (a) Coordinate system showing Gaussian distribution in the horizontal and vertical
directions. (b) Flat terrain for Gaussian distribution
Figure 7.14 (a) Horizontal dispersion coefficient, y, as a function of downwind distance from the
source. (b) Vertical dispersion coefficient, , as a function of downward distance from
the source
Figure 7.15 (a) Schematic of ground-level concentration underneath the center line of the plume. (b)
Schematic of contaminants generated under ground-level conditions
Table 1.1 Some of the mathematical functions used in VB (part of the System.Math namespace)
Table 1.2 Relational (Boolean or logical) operators (Example column uses A = 1 and B = 0)
Table 5.9 Mean cell residence time for various modifications of the activated sludge process
Table 6.3 Ideal data for final analysis of components of a combustible MSW
Table 6.4 General overview of solid waste properties and characteristics of concern
Table 7.2 Air quality standards for selected pollutants in several countries (g/m3)
Table 7.6 Henrys law constants for some gases in water at 25C
Table 7.9 Average values of wind profile power law exponents (k) by stability class
4.14 (Chap4.14\Form1.vb): Osmotic pressure per unit volume for salt solutions
6.14 (Chap6.14\Form1.vb): Amount of water to be added to MSW to obtain the desired moisture content
6.15 (Chap6.15\Form1.vb): Stoichiometric oxygen and air required for combustion of a gas
6.17 (Chap6.17\Form1.vb): Capital cost, capital recovery factor, and annual installments
A2 Saturation values of dissolved oxygen in water exposed to water-saturated air containing 20.9%
oxygen under a pressure of 760 mmHg
A6 Moodys diagram for Reynolds number versus relative roughness and friction factor
A7 Typical specific weight and moisture content data for residential, commercial, industrial, and
agricultural wastes
A8 Conversion table
Preface
Books and text material in the field of environmental, public health, and sanitary engineering are
numerous for addressing the principles, fundamentals, methods, models, concepts, designs, remedial
activities, and science-related ideas. Nonetheless, rare are the books that deal with practical problems,
problem solving in environmental engineering, and fundamental utilization of computer programming
perceptions and applications.
The broad objectives of this book are to facilitate teaching, improve learning, shoulder training, and
assist research in the application of computer programming based on well-established models, equations,
formulae, and procedures used in the environmental engineering domain. Visual Basic .NET was selected
and used as the programming language of choice throughout this book for its simplicity, comprehensive
usage, and easiness. It is a language that was traditionally considered a model language of teaching
purposes, not to undermine its wide range of applicability; it has been introduced into scripting,
application programming (VBA), databases (VB and SQL), and web scripting (VBScript), to mention but
a few uses.
Section I of first edition has been rewritten from scratch to reflect the advancements in computer
modeling and software programming that took place over the past two decades. The first edition was
written in Quick BASIC 4.5, a widely used and popular model programming language of the time. As
BASIC faded away and gave the stage to its descendants Visual Basic and Visual Basic .NET,
programming models and methods have changed vastly, new programming concepts emerged, and
graphical user interface (GUI) systems took over command-line environments. Object-oriented
programming (OOP) became the de facto programming model, and a whole set of new programming
languages has erupted to exploit these concepts.
In addition, severe competition emerged between Closed Source and Open Source camps. Companies
fighting to protect their royalties and copyrights by defending the Closed Source regime and closing arms
with the emerging and ever-growing Open Source movement, which has novel concepts such as the
freedom of source code and software copylefting (a pun on the word copyright to reflect the exact
opposite meaning, that is, freedom of information). These concepts are changing the face of contemporary
programming, more details on which can be found in Section I of the first edition.
Lastly, there are more operating systems (OSs) in active use today than when the first edition of the
book was published. MicrosoftTM and Apple were once the only horses in the OS arena (not to
undermine UNIX, but it was majorly a teaching OS used by universities and big institutions, not by regular
users on their home portable computers); nowadays, other systems such as Linux, Solaris, Android, and
iOS are actively contributing to the OS industry. As such, programmers are being faced with the problems
of system compatibility (ensuring software runs on different OSs) and architecture compatibility
(ensuring software runs on different platforms such as x86 and x86_64).
In the face of all these intermingled points, the authors were faced with the question of which
programming language to use in writing the examples of this text:
1. Using a cross-platform language such as Java would seem logical. This ensures all the
examples will work on the widest possible range of target machines without recompilation. In
fact, this would have been the best choice had the intent been commercial software production,
not teaching. Java is an OOP language by nature; and the performance hit of using the
intermediate Java Virtual Machine (JVM) is negligible in most cases. This is all good, but using
Java means the need to discuss OOP in depth, having a few sections on the JVM, the garbage
collector, Java packages and built-in classes, and so on. This will shift the focus of the text from
modeling computer applications for solving environmental engineering problems to a text on
Java and OOP.
2. Using a simple procedural language such as C is perfect in a teaching setting like this, as it
will remove all the headache of OOP, virtual machines, intermediate compilers, garbage
collectors, and other things that are not primal to the teaching process. The reader will be able
to focus on the specific modeling techniques under discussion. In addition, pure C is text based
by nature, which is an important feature when programming console programs (such as Linux
terminal programs or MS-DOS prompt-like programs). However, unfortunately, console
programs have fallen out of favor to GUI programs, and most users (except power users and
system administrators) feel uncomfortable when faced with the black screen and its blinking
cursor. As such, using C alone is defective. One would usually combine C with a GUI toolkit;
the most popular combination is using C++ with Qt (pronounced cute; stands for the Q
toolkit). However, again, this will make it obligatory to include a whole chapter on Qt, its
history, structure, object classes, and its uses, not to mention the mandatory chapter on core C
programming. This will undoubtedly unnecessarily inflate the book out of scope.
3. Use of a traditional teaching language such as Pascal or Basic. This ensures that the focus of
the text will remain on problem solving and application modeling. The chapter on programming
itself will be supplementary, and habituated programmers can skip it and start directly on the
text proper. This is the solution we opted to use throughout this text.
That being said, there are important points and topics pertaining to computer programming in general,
and to modeling engineering applications specifically, which need to be discussed, or to the least, pointed
to. These topics have been handled in Section I of the first edition.
The more specified objectives are proposed to accomplish the main learning outcomes for students
enrolled in environmental engineering courses, which are as follows:
1. To help the reader in the design of treatment and disposal facilities
2. To introduce the basic concepts of computer design related to environmental engineering
3. To aid in teaching of environmental engineering unit operations and processes design
4. To improve the understanding by students and researchers in environmental engineering field
5. To improve the understanding of relevant physical, chemical, and biological processes, and
their mutual relationships within various sanitation components
6. To promote environmental protection, improvement, and sustainability, enhancing the overall
quality of life
7. To demonstrate effective problem-solving abilities
8. To utilize the current technology of waste collection, handling, treatment, final disposal, and
management
9. To apply appropriate regulations and guidelines in safeguarding environmental conditions
10. To be able to design and apply necessary procedures and precautions to establish sound
environmental engineering systems
Recently, the Department of Environmental Engineering of the College of Engineering at the Imam
Abdulrahman Bin Faisal University, Kingdom of Saudi Arabia (KSA), sought the Accreditation Board for
Engineering and Technology Accreditation Commission (http://www.abet.org/). As such, student
outcomes were adhered to as per requirements. The program must have documented student outcomes that
prepare graduates to attain the program educational objectives. Student outcomes are outcomes (a)
through (k) plus any additional outcomes that may be articulated by the program are as follows:
* UN SDGs include (1) end poverty in all its forms everywhere, that is, no poverty; (2) end hunger, achieve food security and improved
nutrition, and promote sustainable agriculture, that is, zero hunger; (3) ensure healthy lives and promote well-being for all at all ages, that
is, good health and welfare; (4) ensure inclusive and quality education for all and promote lifelong learning, that is, quality education; (5)
gender equality; (6) ensure access to water and sanitation for all, that is, clean water and sanitation; (7) affordable and clean energy; (8)
promote inclusive and sustainable economic growth, employment, and decent work for all, that is, decent work and economic growth; (9)
industry, innovation, and infrastructure; (10) reduced inequalities; (11) make cities inclusive, safe, resilient, and sustainable, that is,
sustainable cities and communities; (12) responsible consumption and production; (13) climate action; (14) life below water; (15) life on
land; (16) peace, justice, and strong institutions; (17) partnership for the goals. (Source: United Nations, 2015,
http://www.un.org/sustainabledevelopment/sustainable-development-goals/#.)
Preface and Acknowledgment to First Edition
Environmental engineering is the branch of engineering dealing with activities in the areas of air, water,
wastewater, solid waste, radiation, and hazardous materials. Many textbooks have been published in all
of these areas; however, most of them lack the fundamental utilization and application of computer
programming. Computer programming is now of paramount importance not only for the students but also
for the practicing engineers. This book presents computer programs in the air, water, wastewater, and
solid waste fields that can be used to evaluate and assist in the design of environmental control systems.
This book will be of value to environmental engineers, sanitary engineers, civil engineers, town planners,
industrial engineers, agricultural engineers, treatment plant designers, consultation firms, and researchers.
The BASIC programming language was selected for its simplicity and used throughout this book.
The broad objectives of this book are to facilitate improving teaching, learning, and research in the
application of computer programming based on well-established models, equations, formulae, and
procedures used in the environmental engineering field.
The more specified objectives are as follows:
Isam Mohammed Abdel-Magid, BSc, PDH, DSE, PhD, FSES, CSEC, MSECS, is the professor of water
resources and environmental engineering. He received his BSc in civil engineering from the University of
Khartoum, Khartoum, Sudan; diploma in hydrology from the University of Padova, Padova, Italy; MSc in
sanitary engineering from Delft University of Technology, Delft, the Netherlands; and PhD in public health
engineering from the University of Strathclyde, Glasgow, in 1977, 1978, 1979, and 1982, respectively.
Professor Abdel-Magid authored or coauthored many papers, publications, scientific text and reference
books, technical reports, and lecture notes in the areas of water supply; wastewater disposal, reuse, and
reclamation; solid waste disposal; water resources and industrial wastes; and slow sand filtration in both
English and Arabic. He has participated in several workshops, symposia, seminars, and conferences. He
has edited and coedited many conference proceedings and college bulletins.
The Sudan Engineering Society awarded him the prize for the Best Project in Civil Engineering in
1977. In 1986, the Khartoum University Press awarded him Honourly Scarf for Enrichment of
Knowledge. Ministry of Irrigation (MoI) awarded him the prize for the Second Best Performance in
fourth-year civil engineering. The Sudanese Press Council of Ministry of Information and Culture (MoIC)
awarded him the best book of the year. ALECSO awarded him the prize for a book in engineering.
Professor Abdel-Magid has taught environmental engineering subjects and supervised research
projects for graduate and postgraduate students at the University of Khartoum, United Arab Emirates
University (Al Ain, the United Arab Emirates), Sultan Qaboos University (Muscat, Oman), Sudan
University for Science and Technology (Khartoum, Sudan), Juba University (Juba, Sudan), Industrial
Research and Consultancy Centre (Khartoum, Sudan), Sudan Academy for Sciences (Khartoum, Sudan),
King Faisal University (Dammam, KSA), University of Dammam and Imam Abdulrahman Bin Faisal
University (Dammam, KSA). Professor Abdel-Magid acted as an external examiner for different
institutions and a founder of some institutions, centers, and refereed journals.
The current address of Prof. Abdel-Magid is as follows: Chair Development and Training Unit of
Postgraduate Studies Deanship, Head Proofreading and Revision Department of the Center of Scientific
Publications and member of its Council, and Professor of Environmental Engineering and Water
Resources at Environmental Engineering Department of the College of Engineering, Imam Abdulrahman
Bin Faisal University, Box 1982, Dammam 31451, KSA. Fax: +96638584331, phone: +966530310018,
+96633331686, e-mail: [email protected] and [email protected]. Web sites:
http://www/sites.google.com/site/isamabdelmagid/; http://www.isamabdelmagid.net/. Twitter:
twitter.com/IsamAbdelmagid. Facebook: https://www.facebook.com/isam.m.abdelmagid. Researchgate:
https://www.researchgate.net/profile/Isam_Abdel-Magid. Google scholar:
https://www.facebook.com/isam.m.abdelmagid. LinkedIn: https://www.linkedin.com/nhome/?
trk=Isam%20Abdel-Magid. Amazon: https://authorcentral.amazon.com/author/isamabdelmagid.
Mohammed Isam Mohammed Abdel-Magid, MBBS, BLS, ALS, MRCP(UK), PgDip in Diabetes, is a
graduate of the College of Medicine, the University of Khartoum, Khartoum, Sudan, in 2008. He
completed basic training with the Ministry of Health, Khartoum, Sudan, then worked as a physician in the
department of internal medicine, Ribat University Hospital, Khartoum, Sudan, and the Ministry of Health,
Sultanate of Oman. He is currently working with the Health Assistance Medical Services, Doha, Qatar.
He completed his higher training with the membership of the Royal Colleges of Physicians of the
United Kingdom and accomplished postgraduate diploma in diabetes from the University of South Wales,
Wales.
He tutored in problem-based learning teaching sessions in the department of Internal Medicine, Sudan
International University, Sudan.
He is a registered practicing physician with the Sudan Medical Council, the Health Authority of Abu-
Dhabi, and the Saudi Commission of Health Specialties. He is a full member of the Society for Acute
Medicine (Edinburgh, UK), the European Society for Emergency Medicine (Brussels, Belgium), and the
European Respiratory Society (H.Q. Lausanne, Switzerland).
He is a peer reviewer of the Science Journal of Medicine & Clinical Trial and the Pan-African
Journal of Medical Sciences.
He is a qualified Linux system administrator, as he obtained the Linux Foundation Certified SysAdmin
qualification in 2015. He is an experienced computer programmer with more than 15 years of
programming, with a special focus on C/C++ and Visual Basic. He is the maintainer of several Fedora
GNU/Linux packages and is an active contributor to the GNU Project (with his GnuDOS and Fontopia
packages). He is a member of the Free Software Foundation (Boston, MA). He has designed and
packaged several fonts, all of which can be accessed and downloaded from the Open Font Library
(http://fontlibrary.org) or from the authors Web site (http://sites.google.com/site/mohammedisam2000).
Authors of First Edition
Isam Mohammed Abdel-Magid Ahmed received his BSc degree in civil engineering from the University
of Khartoum, Khartoum Sudan; diploma in hydrology from the University of Padova, Padova, Italy; MSc
in sanitary engineering from Delft University of Technology, Delft, the Netherlands; and PhD in public
health engineering from the University of Strathclyde, Glasgow, U.K. in 1977, 1978, 1979, and 1982,
respectively.
Abdel-Magid has authored more than 28 publications, 10 scientific textbooks, and numerous technical
reports, and lecture notes in the areas dealing with water supply and resources; wastewater treatment,
disposal, reclamation, and reuse; industrial wastes; and slow sand filtration, in both English and Arabic.
He has participated in several workshops, symposia, seminars, and conferences. He has edited and
coedited many conference proceedings and college bulletins.
The Sudan Engineering Society awarded him the prize for the Best Project in civil engineering in 1977.
In 1986, the Khartoum University Press awarded him Honourly Scarf and Badge for Enrichment of
Knowledge.
Abdel-Magid has taught at the University of Khartoum; United Arab Emirates University, Al Ain, Abu
Dhabi, the United Arab Emirates; Sultan Qaboos University, Muscat, Oman; and Omdurman Islamic
University, Omdurman, Sudan.
Abdel-Wahid Hago Mohammed received his BSc in civil engineering from the University of Khartoum,
Khartoum, Sudan in 1976. He received his PhD degree from Glasgow University, Scotland in 1982. Hago
has authored more than 13 publications, numerous reports, lecture notes, and more than 95 translated
articles. He headed the Design Office of Newtech Industrial and Engineering Group, Sudan for 3 years,
where he contributed in the design of buildings and factories in different parts of that country. In 1986, he
acted as a Senior Analyst for Associated Consultants and Partners, Khartoum, Sudan for the design of the
ElObied town water distribution system.
Hago has participated in several conferences, and was a member of the organizing committee of the
First National Conference on Technology of Buildings organized by the Sudan Engineering Society in
1984. Hago is a member of the Sudan Engineering Society. He has taught both undergraduate and
postgraduate courses at the University of Khartoum and Sultan Qaboos University, Muscat, Oman. He has
supervised and cosupervised many MSc and PhD students.
Donald R. Rowe, PhD* is president of D. R. Rowe Engineering Services, Inc., Bowling Green, Kentucky.
He received his MS (1962) and PhD (1965) from the University of Texas at Austin, and his BSc degree
(1948) in civil engineering from the University of Saskatchewan, Saskatoon, Canada.
From 1964 to 1969 he was associate professor, Department of Civil Engineering, Tulane University,
New Orleans, Louisiana; from 1969 to 1982, he was associate professor, Department of Engineering
Technology, Western Kentucky University, Bowling Green, Kentucky; and from 1982 to 1988 he was
professor, Department of Civil Engineering, King Saud University, Saudi Arabia. From 1971 to 1993, he
was vice president of the Larox Research Corporation, Kentucky and from 1990 to the present, he has
been president of his own company.
Rowe has authored or coauthored more than 70 reports and publications in the areas of air pollution,
solid waste, water treatment, and wastewater reclamation and reuse. He also coauthored Environmental
Engineering (McGraw-Hill Publishers) and the Handbook of Wastewater Reclamation and Reuse
(CRC/Lewis Publishers).
Rowe holds, with coinventors, more than 10 patents on catalytic conversion removal processes of air
contaminants in the United States, Canada, Great Britain, and Japan.
In 1980, he was recipient of a FulbrightHays Award to Ege University in Izmir, Turkey. Rowe also
carried our research on wastewater reclamation and reuse at King Saud University, Riyadh, Saudi Arabia.
From 1984 to the present, he has served on the Peer Review Evaluation Committee for research
projects funded by King Abdulaziz City for Science and Technology (KACST), Riyadh, Saudi Arabia.
* Professor Donald Richard Rowe, 82, died on May 21, 2009, at his residence. The Late Donald R. Rowe owned and operated D. R. Rowe
Engineering Services, Inc., Bowling Green, Kentucky, until his passing. This Vantage, Saskatchewan, Canada native was born in October
12, 1926. He moved from Saskatchewan to Austin, Texas, in the 1950s and married Nora Alice Crittenden in 1954. His passions in life
were traveling and his farm situated on Cape Breton Island in Nova Scotia. He was son of the late William Hazen Rowe and Donalda
McIntyre.
List of Symbols and Abbreviations
B Width, thickness m
BOD Biochemical oxygen demand mg/L
BODe Effective biochemical oxygen demand mg/L
BODload BOD load kg/m3
BODs BOD of standard sewage gBOD5 /c/day
BODt BOD that has been exerted in time interval t mg/L
BOD5 5-Day BOD of wastewater mg/L
b Constant
b Slope of the straight line of t/V versus V s/m6
C Concentration mg/L
C Idle resistance factor Dimensionless
C Efficiency factor
C Total amount percolating within the top layer of soil mm/year
C Capacity tons/h
CA Sludge age day
Cd Constant or shape factor Dimensionless
CON Conductance Ohm1
C Solubility of oxygen at barometric pressure P and given temperature mg/L
CD Newtons drag coefficient Dimensionless
Ce Concentration in effluent mg/L, g/m3
Cf Friction coefficient, coefficient of DeChezy m0.5 /s
Cm Concentration of the pollutant in mixture of river water and wastewater discharge, or concentration of pollutant in mg/L
the river downstream point of discharge
Co Concentration at time t = 0 (initial) mg/L
Cp Carbon concentration in the mixture prior to composting, as the percentage of total wet mass of mixture %
Cs Saturation concentration mg/L
Cs Carbon concentration in the sludge, as the percentage of total wet sludge mass %
Cr Concentration of the same pollutant in river upstream discharge point mg/L
Cr Carbon concentration in the refuse, as the percentage of total wet refuse mass %
Cv Volumetric concentration of particles (volume of particles divided by the total volume of the suspension) Dimensionless
Cw Concentration of pollutant in wastewater kg/m3
C Coefficient, constant
C Velocity of the sound in a given medium m/s
ch Chlorinity g/kg
cg Gas concentration in gas phase g/m3
H Lift ft
H Total energy (total head, energy head) m
Hard Hardness mg equivalent CaCO3 /L
HCa Calcium hardness mg/L CaCO3
HEi Heat exchanged in effect number i J
Ho Initial resistance for a clean screen m
Hs Resistance for a clogged screen m of water
[H+] Concentration of hydrogen ions mol/L
h Height, depth, thickness m
hf Friction head m
hl Head loss m
ht Height of proposed tank m
I Mean rainfall intensity for a duration equal to the time of concentration mm/h
Ir Average infiltration into the sewer owing to poor joints or pervious material L/day
i Annual interest rate fraction
i Current A
i Current density A/cm2
N Number Dimensionless
N Number of conveyor leads or number of blades wrapped around conveyor hub
N Number of sound sources
N Number of collection vehicles needed
N Number of working days taken into account during the week
ND Nondecomposable material
Ne Effluent bacterial number, number of bacteria /100 mL
Ni Influent bacterial number, number of bacteria /100 mL
No Number of viable microorganisms of one type at time t = 0 /100 mL
n Number Dimensionless
n Number of installments
n Number of years
N Roughness factor, Manning and Kutter factor m1/6
N Sound intensity level dB
N Total time periods of waste placement
T Capacity tons/h
T Temperature C, F, K
TDS Total dissolved solids mg/L
TOR Net torque input dyne/cm
TR Transmissibility of aquifer m3 /day*m
Tc Temperature correction factor Dimensionless
Tw Average trade waste discharge L/day
Te Duration of the persons personal exposure to noise
To Length of the working day h
t Time, detention time days
tc Critical time days
t Half-life of the particular nuclide s, days
t25 Time required for water surface to fall 25 mm s
ti Age of the ith section of waste Time
V m3
Volume
V m3
Volume of refuse between each pitch
V
Volume of sanitary landfill area
Vr Volume of a layer of coverage required
VO Volatile organics
Vo Original size (initial)
Vc
Volume after compaction
VOL Volumetric organic loading rate kg/m3 *s
VS Concentration of volatile solids kg/m3
VA Volume of material (A)
VB Volume of material (B)
Vg Volumetric gas production rate (specific yield) m3 gas/m3 digester/day
Vs Settled volume of sludge in a 1000 mL graduated cylinder in 30 minutes mL/L, %
v Velocity m/s
v Speed of cylinders rpm
v Hindered settling velocity m/s
va Approach, actual velocity m/s
vc Centerline velocity m/s
vf Filtration velocity m/s
vH Velocity of horizontal water movement m/s
vr Rotational velocity of the bowl rad/s
vs Settling rate ,displacement velocity, loading rate, overflow rate m/s
v sc Self-cleansing velocity m/s
v sco Scour velocity m/s
vw The difference in the rotational velocity between the bowl and the conveyor rad/s
vz Updraft velocity m/s
Z Depth, elevation m
ZP Zeta potential V
Constant
Inclination of liner from horizontal
Beta function for a centrifuge
Surface tension N/m
Angle
Particle shape factor Dimensionless
sw Hydrogen sulfide flux to pipe wall g/m2 *h
Specific weight N/m3
Specific weight of water
Shear stress N/m2
Parameter related to the characteristics of centrifuge
F Sum of all forces acting on fluid contained between two cross sections N
Density kg/m3
Average density of solid waste and garbage
Density of the material g/cm3
o Original apparent density
c Apparent density after compaction
c = A Bulk density of the mixture of material (A) and material (B)
+ B
A Bulk density of material (A)
B Bulk density of material (B)
Thickness of laminar layer m
Rate of deposition m2 /s
Kinematic viscosity m2 /s
Eddy viscosity N*s/m2
Dynamic (absolute) viscosity N*s/m2
Dynamic viscosity of water
Ionic strength
Temperature coefficient Dimensionless
Roughness of the pipe wall m
o Filtration coefficient m1
wave length m
Impeller rotations Number of
rotations/min
Constant
s Growth rate of microorganism day1
( s)max Maximum specific growth rate of microorganisms day1
Specific volume of the fluid m3 /kg
T Change in temperature C
S Change in storage volume during specified interval
P Pressure difference Pa
List of Acronyms
Abbreviation Meaning
algorithmic language
ALGOL
bitmapped picture
BMP
compact disc
CD
formula translation
FORTRAN
just-in-time translator
JIT
object-oriented programming
OOP
operating system
OS
personal computer
PC
programming logic
PROLOG
The first six letters appearing from the left-hand side of a keyboard
QWERTY
read-only memory
ROM
text-user interface
TUI
VB for applications
VBA
Visual Studio
VS
Windows Emulator
WINE
1 Programming Concepts
This chapter presents an introduction to the basic functions, layout, and components of a computer
workstation. Computer programming languages are briefly outlined and summarized, delineating their
history, types, and uses, with an emphasis being placed on Visual Basic.NET (VB.NET) language as is the
language of choice to this book.
The management of water resources, wastewater collection, treatment, and disposal, solid waste
collection and ultimate recycling, reuse and disposal as well as air pollution and noise abatement and
control involves complex processes. This is due to many interacting parameters, some of which are
difficult in presenting a straightforward mathematical model, equation, or formula. Mathematical
modeling techniques can be used in predicting the quality and sequence of relationships that can help
management in an effort to solve potential environmental problems. A model can be regarded as an
assembly of concepts in the form of one or more mathematical equations that approximate the behavior of
a natural system or phenomenon (Ji 2008). Models can be divided into simulation, optimization, and
computer-aided design models (Chapra 2008). Simulation models address the presentation of a
mathematical model that simulates a specific situation, with the formulation of a mathematical relationship
and solution through a structured and valid process. Optimization models use mathematical techniques to
achieve a reasonable solution from a range of possibilities. Computer-aided design models help in the
preparation of design drawings and computation of quantities.
Modeling methods rely on computers for their validation, testing, speediness, and efficient use. The
basic concepts of mathematical modeling and formulation of a well-written operative computer program
form the central theme of this book. The aim is to train individuals to write, develop, validate, and use
their own environmental engineering control programs and simulation models.
In many of the examples tackled in this book, the best teaching method was adhered to. This is not
always the best working or the best method with regards to its real-world performance. Sometimes the
teaching method is longer, slower, or even more complex than what a production-level model should be,
but the authors opted to make all examples, presented throughout the manuscript, as readable and
understandable as possible. As such the reader is free to edit any selected examples to be more
performance efficient if so he or she desires. A live example is editing controls properties in the
form_load() function of each form. In reality, the programmer (including oneself for that matter) will
edit these properties in the design view. This will not only reduce code clutter, but it also helps separate
design from code and reduces the work that the program has to do when loading each new instance of the
form to memory upon execution. In this book, however, everything is placed inside code blocks to reduce
the complexity of the text. As such, the reader is able to follow easily the code and understand exactly
what it does without really looking into the form design. Suffice it to know that there are five labels, five
textboxes, and one button in the form. Every other detail about these 11 controls is found in one place
inside the form_load() function. Again, this design choice is not suitable for production-level software
as it is solely intended for teaching models like the ones presented in this script. Furthermore, error
checking has been dropped in some examples to keep the programs as direct, explicit, clear, and simple
as possible.
1. An input unit
2. An arithmetic and logic unit (ALU)
3. An output unit
4. A memory unit
5. A control unit
A typical personal computer (PC) includes four hardware components (in analogy to the von Neumann
model): a processor (central processing unit [CPU], which contains both the control unit and the ALU),
input devices (a keyboard and a mouse), output devices (video display devices such as a monitor or a
projector, printers, and other peripherals), and storage media (memory, hard disks, optical media, and
flash memory).
The main components of a PC system can be detailed as follows (see Figures 1.2 through 1.6):
1. The CPU: This component represents the brain or the control center of the computer. It carries
out the sequence of operations specified by a program, and it controls all computer activities.
The functions of the CPU can be divided as follows (Hager and Wellein 2010):
Figure 1.6 shows the main components of a computer. The inside of the computer contains the main board,
power supply, adapter cards, disk drives, processor, RAM, ROM, math coprocessor, and support chips.
For effective, trouble-free operation, routine corrective and preventive maintenance should be performed
regularly for the computer. Computer failures can be caused by excessive heat, dust buildup, noise
interference, powerline problems, corrosion, and the presence of magnetic flux (Andrews 2013).
Solve specific problems, as the new program will be written specifically to answer the question at
hand
Speed, performance, and interpretation of calculations, compared to manual interpretation of data.
Computers are better than humans in doing complex calculations, provided the correct input is given
Enhancing graphical work, especially with the advent of new hardware that is specially tailored
toward graphical design and the continuous improvements in graphical design and modeling software
Formulating cost-effective design and operation of products. Certainly, a company that invents its
own software solutions manages to save more money than the one that relies on presold software
Computer-aided design and manufacturing is a continuously growing market
Performing preliminary testing enables preemption of bugs and early correction of problems before
deploying software solutions to users
Controlling manufacturing and assembly operations
Control and automation of processes
Effective business and management operations
Communicating technical results in a reliable and effective way
Educational and training programs. Virtual tutors are becoming a common practice in many
educational institutions and corporate training schedules
Writing ones own software can have some drawbacks and problems also as follows:
Reinventing the wheel, which is the most fatal mistake a programmer might do. If there is some
problem that needs solving, one might better do some search around, looking at some programming
forums, running through a specialized website (like the Microsoft Developer Network
http://msdn.microsoft.com), or even asking Google or Bing: someone might have had the answer in
a more effective and elegant way, so there is no need to waste time and brain power.
Not knowing where to start. Sitting there with a void mind and an empty source file, staring at the
blinking cursor with no notion of what code to write. Therefore, good programming design and
preemptive thinking are paramount before grasping the keyboard and starting on writing code.
Not knowing which language to use. Having a look at the examples of programming languages and
their uses as discussed previously helps make this decision.
Working single handedly. Usually as programs grow bigger, team work becomes more efficient and
effective. Sometimes assigning team members with specific tasks help speed up the process and
make it more effective and reliable, such as having one software programmer, one debugger, and one
testing person.
Once a program has been written, it needs to be verified for its accuracy through the use of specific data.
This results in a cycle of checking and correcting the program to obtain required accuracy and
specifications. This process is called debugging, and it is carried out by running the program on a
computer with suitable test data to eliminate (almost) all compile time, runtime, and logical errors. Figure
1.8 shows the steps to be followed in order to obtain a virtually error-free program (we say virtually
because it is impossible to write a 100% error-free program. Each and every programexcept the most
trivial oneswill fail at some point in some way under the wrongor right?conditions). The process
of debugging is simply a trial to reduce these errors to a minimum and to ensure that the program runs as
expected under most normal conditions.
High-level programming languages are machine independent; after all, this is why they were developed
in the first place. The features considered essential to the success of a program include simplicity of the
algorithm or technique, program clarity, and efficiency in executing the program. Some of the most
commonly used high-level languages are described briefly as follows:
FIGURE 1.8 Steps of programming.
1. Java (Schildt 2007), first released in 1995 by Sun Microsystems, is a general-purpose, OOP
language. It became widely popular and is used in almost all electronic and digital devices of
todays use. From the desktop programming point of view, Java was intended to be a cross-
platform language, that is, a program written in Java language under one platform (e.g.,
Windows on an Intel processor) will be able to run without change in the source code to fit
another platform (e.g., Linux on AMD processor). Java does this by implementing the JVM and
by compiling the source code into an intermediate Java byte code that is run by the JVM. Java is
derived from C/C++, but it was made more stable, secure, and memory efficient. One of the
advancements introduced in Java is the garbage collector, which is a small program (part of the
Java machine) that scans the programs memory periodically to look for variables and data that
are no longer used, which are then deleted by the garbage collector, and their memory space is
revoked for other uses.
2. FORTRAN (Formula Translation) uses a notation that facilitates writing of mathematical
formulas. The language is useful especially when dealing with large amounts of data such as in
the case of business-oriented work. The language is excellent for sophisticated computations
and is fast and precise with relatively powerful I/O capabilities. FORTRAN programs execute
quite rapidly because the language is almost a compiled one. In program writing, a number of
commands are used throughout the different stages of the program to its completion. Each
instruction is written as a single line and, in some systems, aligned in specific columns to
constitute the source program. The compiler translates the program for the computer to yield the
object program (Hager and Wellein 2010, Chivers and Sleightholme 2015). Many changes and
various versions have emerged since the language first appeared in the IBM labs in the 1950s
(FORTRAN, FORTRAN 77, FORTRAN 95, FORTRAN 2008), and the language is becoming
more user-friendly and object oriented.
3. VB.NET (Petroutsos 2002) (the successor to the older VB, which in turn is coming all the way
from BASIC, the Beginners All-purpose Symbolic Instruction Code) is widely used as it is one
of the easiest programming languages to learn and provide an excellent platform for novice
programmers. It is an OOP language. It relies on the .NET framework for its functionality
(discussed later). It is usually programmed using Visual Studio (VS) integrated development
environment (IDE) or the free Visual Basic Express Edition supplied by Microsoft
(downloadable from their web-site: http://www.visualstudio.com/en-us/downloads/download-
visual-studio-vs.aspx). It is also used in most educational settings, university, and other
programming courses. VB.NET is interactive as all .NET languages (the IntelliSense feature of
VS allows the IDE to evaluate each statement on the fly and diagnose any potential errors and
then provides possible completion or correction options to the user). VB.NET syntax is much
easier than many other languages, and it is much simpler to use.
4. C++ (pronounced see plus plus), appeared as a successor to old C language. It started with
adding object-oriented features to C and was originally named C with classes, starting at Bell
Labs in 1979; it then was renamed C++ in 1983. It is a general-purpose, object-oriented, high-
level language, although most programmers consider C as an intermediate language (as assembly
language) because of many of the low-level and memory-manipulating features. C/C++ is
widely used in programming software, especially software needing fine-tuning with the
underlying hardware as OSs. Most programs are a hybrid with intervening assembly code
inserted in the middle of C/C++ code to do some basic hardware functions or specific system
calls.
5. Pascal is a structured language used to perform large-scale programming. The language uses a
restricted set of design structures and other organizing principles. The language rules are made
up of syntax and semantics. The former rules define how the words of the language can be put
together to form sentences; the latter ascribes meaning and significance to these combinations of
words (Welsh and Elder 1988). The language is excellent for large-scale and complicated
programs. Although Pascal per se is not largely used today, its successor, Delphi, is widely used
as a general-purpose OOP language.
6. Other programming languages include a wide variety of languages developed for specific
applications. The Assembly language is the one used primarily by system programmers to
address the hardware. It is rarely used for scientific applications, although it can be, but with
great difficulty and effort. It is excellent for direct negotiation with the hardware, but it is
limited by its complexity and lack of the programming structs that are present in high-level
languages. Another drawback is that it is platform dependent, that is, each platform (or
processor family) has its own instruction set, which dictates what assembly instructions can be
performed on this specific platform. Currently, high-level languages such as C and its extension
C++ are satisfying the needs of most programmers, even those requiring interaction with the
hardware, and are being used for almost all purposes such as scientific, educational, system
programming, database, equipment control, games, and many other applications. However,
special languages such as SQL are intended for database programming only. Other languages
include ALGOL, ADA, COBOL, MODULA, and many others.
The open-source movement has become an important paradigm embraced by more and more programmers
and institutions every day. As mentioned previously, whole systems have contributed to the advancement
of the movement; of note is GNU/Linux, the Apache web server, among other software.
An important idiom here is that the sharing spirit of the open-source movement is not limited to any
specific language as many authors believe. In fact, code written in proprietary programming languages
such as VS family of languages can be distributed under the GPL or another open-source license.
The choice of which language to use in programming these texts examples was a debatable topic. The
authors support the open-source movement and believe that it had contributed much to the advancement of
software technology, and it will continue to do for the foreseeable future. This means the choice should be
writing the code in C/C++ as it is the de facto language(s) for writing Unix/Linux software (the biggest
contender under the open/free-source paradigm as discussed previously). Another option was writing in
Java as it is the best cross-platform language, which means the authors code will be guaranteed to reach
the largest number of audiences. The point against the first choice was that C is a little uncomfortable for
beginner programmers, and C++ is much more so, although the authors are avid C programmers by heart.
As for Java, it did not deviate much from the C/C++ line of complexity; in addition, it would have
involved another level of indirection (the intermediate language) that would have needed another
discussion.
Finally, VB.NET has been selected for the models incorporated in this book for the following reasons:
MS Windows is one of the most (if not the most) popular OSs in use today. Market shares of MS
Windows are by far outgrowing all other competitive OSs collectively (Stat Counter 2015,
W3Schools 2016). Chances are, when buying a new PC or laptop, the user will face this OS first
and foremost (although other platforms are being dominated by other OSs, such as the Android
system which is dominating on smartphones and tablets).
The .NET framework is becoming very popular as an effective programming platform in computer
industry that it will be counterproductive not to learn and understand how to implement engineering
models using this platform. This is in part driven by the fact that .NET is a Microsoft technology
modeled for Windows, a Microsoft OS.
VB language is the de facto language of programming under MS Windows family of OSs. VB.NET
came from the good old BASIC (the Beginners All-purpose Symbolic Instruction Code), which was
very appealing to novice programmers as it was known to be an easy-to-learn language, although it
had modest-to-moderate capabilities compared with powerful languages of the time like C and
Pascal. One of its important aspects was that VB had many layers of abstraction (hiding details) that
the programmer did not need to know about the low-level workings of the system, he or she just
needed to focus on programming the solution at hand. This is why BASIC, its child VB, and its
grandchild VB.NET are all considered the easiest programming languages to learn, especially for
beginners and those with no prior programming experience.
Simplicity of the language in structure and content. Compared to code written in C/C++ or Java, VB
is much clearer and easier to comprehend.
Ease of learning the language and its interactive use.
Flexibility in program alteration, updating, and patching.
Universal language, popular, interactive, and common in use.
Relatively standard language with many versions simple to run on different computer architectures
with little or no modification, provided it is run under MS Windows or a compatible OS (like Linux
with Windows Emulator WINE) installed, for example).
Relevance to engineering applications and scientific computations being a general-purpose language,
which is widely used in programming many mathematical and engineering models.
Availability of the language software on PCs (either as part of VS or as the free Visual Basic Express
Edition from Microsoft).
Immediate detection of errors (using the IntelliSense feature of the VS common language IDE, a
feature shared by all VS languages).
Production of acceptable quality graphics and ease of embedding video/sound and other object files.
The language requires no hardware knowledge, and it shields the user from the OS of the computer
(Kiong 2012).
Computer programs usually are formed of subprograms (subroutines and functions) that are easily
developed and tested separately. Generally, a subroutine functions to serve some specific goal and then
returns control to the main program. A function serves similar goals with the difference that it is required
to return a result to the main program. Most of the current OOP use an event-driven approach. In this
model, every task done by the program is triggered by an event (key press or mouse click or moving a
joystick), and the program responds by executing a specific subroutine (called the event handler). This
modular design approach results in short and highly focused programs.
1. Directly entering program instructions into the editor (usually an IDE such as VS.NET)
2. Loading previously coded program from a saved file or project
During the stage of program preparation and execution, errors (bugs) may occur. These errors can be
grouped as follows:
Syntax errors (coding mistakes, diagnostic errors) are mistakes made in the usage of the high-level
language (e.g., misspelling of a key word or giving a function an inadequate number of
parameters). These are easy to spot as most modern text editors provide syntax highlighting to help
see erroneous words and missing braces. Furthermore, the compiler will spot such errors and will
report them to the programmer.
Runtime errors develop during program execution and are usually unforeseen during program coding
and compiling, for example, accessing a memory location that is inaccessible or referencing an
object that has not been initialized. These are harder to foresee as they are not visible until running
time.
Logical errors are due to faulty program logic. They are like incorrect order of expressions or
incorrect ordering of statements. Usually these types of errors are skipped by the diagnostics of the
compiler, as the compiler checks the syntax of the language and makes sure that references are
correct and language usage is plausible, but it has no idea about the intention of the programmer when
he or she wrote the code. As such, it cannot judge if the logic of the program is correct or not. This is
a hard type of error to spot, because sometimes the logical error is not apparent until there is an
abnormal result of a given calculation or an abnormal response to a specific task.
Debugging and testing should be carried out to produce a reliably operating program. After debugging the
program, the next phases are documentation, storage, maintenance, and updating. Documentation signifies
addition of language descriptions (may be English or any other Latin-letter based) to ease implementation
of the program by the user. Storage refers to saving the program in a suitable media, whereas maintenance
concerns the upgrading of the program and posting patches to fix errors and security issues.
VB.NET is a simple, reliable language. The instructions resemble elementary algebraic formulas and
use plain English words (those reserved by the language are known as the languages keywords). Use of
the language covers various disciplines such as science, engineering, business, mathematics, finance,
database management, commercial, and computer games, to name but a few.
The original BASIC language was developed by John Kemeny and Thomas Kurtz at Dartmouth
College, Hanover, New Hampshire, in the early 1960s. It was running under the command line DOS. It
then underwent extensive work and modification, and reemerged as VB. This then underwent the
evolution to become the current VB.NET version. Throughout this book, VB.NET 2015, of Microsoft, is
adopted for writing programs and models. There is an extensive help, both locally and online (from
Microsoftthe Microsoft Developer Network and from other programming forums).
The simplest VB.NET program structure is a single Windows form, which has a design interface (the
part holding the textboxes and buttons, and having everything to do with what the user sees) and a code
part (the processes and calculations that happen behind the scenes), as depicted in Figure 1.9. The code
is composed of a sequence of statements that are grouped into subroutines, each one being executed
whenever a specific action happens (e.g., when a user clicks a button to do some calculations). Sections
1.8.1 through 1.8.17 summarize the important statements and functions used in VB.NET programming and
are used in the models in this book. They do not cover all the commands in VB.NET; such a list will be
exhaustive and lengthy. The interested reader is directed to refer to the Microsoft documentation or other
publications dealing with this language (see References).
Numbers can be positive or negative and can be expressed as integer quantities (whole numbers
without fraction part) or floating point (real) quantities (which include fractions). Integer
quantities are written as numbers without a decimal point and can be declared as short, integer, or
long, with a capacity to store 2, 4, and 8 bytes of memory, respectively (according to the platform,
but these are the commonest used quantities). This means short integers can have values in the
range of 32,768 to +32,767 (i.e., 215 to 215 1) for signed shorts and 0 to +65,535 (216 1) for
unsigned shorts (similarly, signed integers range from 231 to 231 1 and signed longs range from
263 to 263 1). In writing numbers, the following points need to be considered:
A number can be preceded by a (+, optional) or a () sign.
A number can be written in a scientific format as xEy, where x is the number and y is the
exponent. The exponent can be positive or negative but is devoid of a decimal point. For
example, 3E2 means 3 times 100.
Letters and symbols such as dollar signs and commas are not allowed in numeric constants.
Real numbers can be expressed in single or double precision. A single-precision number is a
real number stored with seven significant digits plus a decimal point; a double-precision
number is stored with 16 digits plus a decimal point. Both numbers are floating point numbers,
that is, the decimal point floats in its position in the number depending on the value of the
number. Usually, single-precision floating points are stored in 4 bytes, and double precisions
are stored in 8 bytes of memory.
Strings, which consist of a sequence of characters, are used to represent nonnumeric information. The
value is written between two double quotations.
Charactersa variable of this type stores only one character, represented as a two-byte Unicode
char.
1.8.2 OPERATORS
Operators are used to indicate arithmetic operations such as addition, subtraction, multiplication,
division, and exponentiation as follows:
Function
Operator
+ Addition
Subtraction
* Multiplication
/ Division
^ Exponentiation
Mod Modulus (remainder of integral division)
Order of execution gives priority to exponentiations to be followed by multiplication and division, with
addition and subtraction to be carried out last. The hierarchy of operation can be altered through the use
of pairs of parentheses at proper places in an equation or formula. If two operands of the same priority
exist in one formula, the order is left to right in execution, unless parentheses are present. For example:
Dim J as Integer = 3
For I = 1 to 10
If I > J Then Exit For
Next I
It will result in four iterations of the loop, with I being 1, 2, 3, then 4, at which point Exit For will cause
the loop to break.
NegativeX:
TABLE 1.1
Some of the Mathematical Functions Used in VB (Part of the System.Math Namespace)
Description
Function
Abs(x) Determines the absolute value of the function x; y = |x|
Sqrt(x) Determines the square root of x, x > 0; y = x
Log(x) Determines the natural logarithm of x, x > 0; y = logx
Log10(x) Determines the logarithm to base 10
Exp(x)
Determines the exponential of x; y = ex
Sin(x) Determines the sine of x (x in radians); y = sin(x)
Cos(x) Determines the cosine of x (x in radians); y = cos(x)
Tan(x) Determines the tangent of x (x in radians); y = tan(x)
Atan(x) Determines the arctangent of x (x in radians); y = atan(x)
Imports System.Math
Imports Microsoft.VisualBasic.FileIO
Public Class Form1
However, if only a few functions or declarations of the namespace are required and importing the whole
namespace seems like a lot, then accessing a specific member of the namespace can be done by prefixing
the namespace before the desired member and separate them by a dot, such as
IF {condition1} THEN
(What to do in case the condition is TRUE)
ELSEIF {condition2} THEN
(What else to do in the case second condition is TRUE)
ELSE
(What to do in case all the conditions are FALSE)
END IF
TABLE 1.2
Relational (Boolean or Logical) Operators (Example Column Uses A = 1 and B = 0)
Examples Result
Relationship
Operator Example Usage
= Equal A = B False
<> Not equal A <> B True
< Less than A < B False
> Greater than A > B True
<= Less than or equal to A <= B False
>= Greater than or equal to A >= B True
Not Negates the following expression Not A False
If the operator is omitted, the condition is assumed to be TRUE, for example:
SELECT CASE x
CASE a
What to do
CASE b
What else
CASE ELSE
Default case if none is applicable
END SELECT
FOR X = 1 TO 12 STEP 2
Debug.Print(3*X)
NEXT
3
9
15
21
27
33
If the index variable is intended to be incremented by 1 each time the loop is run, the STEP clause can be
omitted, such as
FOR I = 1 TO 12
Debug.Print(3*I)
NEXT
1.8.10 DOLOOP
The DOLOOP construct is a control flow statement that repeats a block of statements while a condition is
true or until a condition becomes true. This is handy if the number of loops is not known beforehand, in
which case a FORNEXT loop will be impossible to use. For example, looping while waiting for user input
until the user gives a certain response means one needs to loop until some condition (user response equals
expected response) becomes true. This is known as the Until loop. However, one can loop as long as the
user is giving a specific response, which is known as the While loop. A While loop can be written as
follows:
Do
Loop While X = 0
Do
Notice that the previous loops will be executed at least once, even if the condition is false (first loop) or
true (second loop). If this is not the desired behavior, the condition can be put on top of the loop as
follows:
Do While X = 0
Loop
In this case, the loop will be executed only if X = 0; otherwise, it will never be entered.
FormatNumber(X, 3)
The first operand is the number to format, and the second is the number of decimal places to put. The
return value is the number formatted as a string with the requested decimal digits.
1. DrawLine() is a graphics function that draws a line on the graphics screen. The coordinates of
the ends of the line and the drawing color must be provided as parameters to the function.
2. DrawRectangle() is a graphics function that draws a rectangle (a box if the sides are of equal
length) on the graphics screen. The coordinates must be provided, along with the color of the
border.
3. DrawEllipse() and DrawArc() are used to draw circles, ellipses, and arcs, provided the X/Y
coordinates, and the width and height are given as parameters. The functions also need drawing
color to be given with the parameters.
4. DrawString() draws a string text on the graphics screen, using the Font selected, with the
specified color.
These drawing functions need a drawing board to draw on; this board is known as a Graphics object. A
Graphics object is associated with controls that have a drawing surface, such as a form (the window on
which the other controls appear) or a PictureBox (an object that is used to display pictures). The
Graphics object to draw on must be first created and then used to draw on. A simple example goes as
follows:
Dim g As Graphics
g = PictureBox1.CreateGraphics
REM Parameters are: Color, X, Y, Width, Height
g.DrawLine(Pens.Black, 0, 0, 10, 10)
g.DrawString(Hello, New Font(FontFamily.GenericMonospace, 8), Brushes.Blue, 50,
50)
Declares a one-dimensional array of integers, with four elements in the first dimension. Notice there are
four elements, not three, as indexing goes as 0, 1, 2, 3 and not as 1, 2, 3. The individual elements within
an array are called subscripted variables. The declared variable can be assigned a type on declaration
(called variable initialization) or later when assigned a value (Figure 1.11).
Arrays can be multidimensional (arrays of arrays):
which declares an array, xy, which has two dimensions: three rows by five columns (or vice versa). If
you declare a size-less array such as
you will need to specify its size later with the ReDim command:
ReDim noSize(10)
Sub doSomeAction()
End Sub
1. Passing by value (written as ByVal), which means the function is handed a copy of the original
variable. Any changes applied by the function to this copy do not affect the original variable in
the caller.
2. Passing by reference (written as ByRef), which means the function is handed a reference to the
variable, that is, a pointer that tells it where the variable resides in memory. This means any
changes applied by the function on the variable are visible and seen by the caller.
Every control has properties that define how it looks and behaves. Some of the common properties are as
follows (see Table 1.3):
Text: What is displayed on the control or on the title bar of the form.
Visible: Shows/hides the control or form.
Size (height, width): Sets the coordinate size of the control (in pixels or other measurement units).
Location (x, y): Sets the coordinate location of the control on the screen (for forms) or inside a form
(for controls).
Items: Members of a ListBox or a ComboBox contain the items that are displayed on the control.
Checked: Boolean value that tells if the checkbox is checked or cleared.
To simplify the programming process, all programs in this book were written in a uniform way, with most
of the calculations contained in a function called calculateResults(). In some of the examples, an
additional showResults() function is responsible for showing the results on the form. Most of the other
assignments (giving names to labels, buttons, textboxes, etc) were written inside the code (usually the
Form_Load() subroutine) to make the process of following the code easy. The default names of the
controls were unchanged. This allows the reader easily to follow between the code and the design (e.g.,
TextBox1, Label2 and Button3 were left with their default names). Usually, in real-world programming,
giving names to controls, setting the text of a form, resizing a button, and other simple assignments will be
done during design time using the Properties window. In fact, the reader is encouraged to modify the
programming examples in this book by reading the assignments given in the Form_Load() sub of each
program, reverting to the design mode, and changing the properties as indicated. For example, if an
assignment is given Me.Text = Program 2.1, go to the design, select the form, then select Text in the
Properties window, and change its value to Program 2.1, then delete the statement from the code, and
so on.
TABLE 1.3
Some of the Common Control Properties
Purpose
Property Example
Text What is displayed on the control? TextBox1.Text = hello
Form1.Text = Example Program
Visible Shows/hides the control Me.Visible = True
TextBox1.Visible = False
Checked Gets or sets whether the checkbox or radio button is checked CheckBox1.Checked = True
Size (height, width) Sets the size of the control TextBox1.Height = 20
TextBox1.Width = 100
Apart from using statements for entering data in a program, data may also be introduced using files. A
data file is a collection of records maintained on a disk or other storage media. Data files can easily be
read and updated by a VB.NET program. Files can be grouped as sequential and direct access files.
Sequential files are those files in which individual items are entered and accessed sequentially, one after
another, usually in the form of bytes or characters. Direct access (random access) files consist of
individual data items that are not arranged in any particular pattern or order. The latter files retrieve data
more quickly and more efficiently, and individual records can easily be modified. Table 1.4 presents a
summary of common VB.NET statements, functions, and commands.
CHAP2.1.sln: This is the solution file (a solution contains one or more projects). It contains all
information VS needs to open your solution. When opening a project later after being closed, one
will double-click this file to reopen the project in VS.
CHAP2.1.suo: This is the solutions user options. This is used internally by VS.
TABLE 1.4
Summary of VB.NET Statements, Functions, and Commands
Statement/Function/Command
Example
Purpose
Abs Gives absolute value Y = ABS(x)
Atan Returns arctangent Y = ATAN(x)
Call Calls a subroutine CALL doSomething()
DrawEllipse, DrawArc Draws a circle, an ellipse, or an arc g.DrawEllipse(Pens.Black,10,10,40,40)
DrawLine Draws lines g.DrawLine(Pens.Black, 0, 0, 10, 10)
DrawRectangle Draws a rectangle or a box g.DrawRectangle(Pens.Black, 0, 0, 20,
40)
DrawString Draws a text string, given the brush color, the XY coordinates g.DrawString(Hello, New
Font(FontFamily.GenericMonospace, 8),
of where to start drawing, the string to be written, and the Brushes.Blue, 50, 50)
font to be used
FileOpen Opens a file, given file number (ID), file name, and open mode FileOpen(5, Hello.txt,
OpenMode.Input)
FileClose Closes a file FileClose(5)
Cos Determines cosine function Y = COS(x)
Dim Defines variables or arrays DIM x as Integer
DIM y(5,200) as Float
End Ends a function or subroutine END SUB
END FUNCTION
Exp Determines the exponential function (E to exponent x) Y = EXP(x)
ForNext Defines the beginning and end of a FORTO loop FOR m = 1 to 39
NEXT m
GoTo Transfers program to a remote statement GOTO someLabel
IfThen Conditional run IF y < 8 THEN
ELSE
END IF
Log Returns the natural logarithm Y = LOG(x)
Log10 Returns base 10 logarithm Y = LOG10(x)
REM Inserts comments and remarks in the program REM Program listing
Sin Determines the sine function Y = SIN(x)
Sqrt Determines the square root of a value Y = SQRT(x)
Atan Determines the arctangent Y = ATAN(x)
Val Changes a string to a numerical value Y = VAL(x)
CHAP2.1 (folder): This contains the files and resources of the project. Inside this folder, the
following files and subfolders are present:
a. CHAP2.1.vbproj: The projects file. If there is more than one project in the solution, each one
will have its own project file describing the respective projects.
b. CHAP2.1.vbproj.user: Users options, similar to the solutions user options, except this one is
for the individual project.
c. Form1.vb: Code for Form1 controls (button and form event handlers and user-defined functions
and subroutines). What is present in this file is what is found in the program listings in the text.
d. Form1.Designer.vb: Code generated by the designer to describe the layout of the form and the
different controls it contain.
e. Form1.resx: Resources associated with the form, such as images and icons.
f. Bin (folder): This folder contains two foldersDebug and Release. According to the build
mode selected when building the project in VS, the project executable files will be under one
(or both) of these directories. Inside either folder, there will be some files; the file named
CHAP2.1.exe is the program executable proper, which can be invoked by double-clicking it to
tell Windows to run the executable.
In order to use the accompanying CD/ROM, the following system hardware and software specifications
are proposed:
A PC or a laptop
A CD/ROM drive (or a CD emulator if using an ISO copy of the CD)
A hard disk drive with at least 70 MB free space (for the code and EXE files)
A math coprocessor chip recommended for enhancing performance (usually incorporated into modern
Intel processors)
A Windows OS version XP, 2003, 7 or higher
An installed .NET framework package version 4.x or later (see the Users Manual on how to
download and install the latest version)
To edit, compile, and test the source files, VS is required (see the Users Manual on how to
download and install it)
REFERENCES
Andrews, J. 2013. PC Troubleshooting Pocket Guide. Boston, MA: Course Technology.
Brouwer, A. 2009. Keyboard Scancodes. http://www.win.tue.nl/~aeb/linux/kbd/scancodes-1.html (accessed February 10, 2016).
Buyya, R., Selvi, S. T., and Chu, X. 2009. Object Oriented Pro-gramming with Java: Essentials and Applications. New Delhi, India: Tata
McGraw Hill Education Private Limited.
Chapra, S. C. 2008. Surface Water-Quality Modeling. Long Grove, IL: Waveland Press.
Chivers, I., and Sleightholme, J. 2015. Introduction to Programming with Fortran: With Coverage of Fortran 90, 95, 2003, 2008 and 77,
3rd ed. Cham, Switzerland: Springer.
Dandamudi, S. P. 2005. Guide to Assembly Language Programming in Linux. New York: Springer Science.
Free Software Foundation. 2007. The GNU General Public License, Version 3. http://www.gnu.org/licenses/gpl.html (accessed February 10,
2016).
Free Software Foundation. 2015. The GNU Operating System. http://www.gnu.org (accessed February 9, 2016).
Front Page Free Software Foundation 2016 working together for free software. http://www.fsf.org (accessed February 1, 2016).
Gottfried, B. S. 2002. Schaums Outline of Theory and Problems of Programming with Visual Basic. Schaums Outline Series. New York:
McGraw-Hill.
Hager, G., and Wellein, G. 2010. Introduction to High Performance Computing for Scientists and Engineers. Boca Raton, FL: CRC
Press.
Hill, A. E., and Pilkgton, R. D. 1990. A Complete AutoCAD Databook. Englewood Cliffs, NJ: Prentice-Hall.
Ji, Z. G. 2008. Hydrodynamics and Water Quality: Modeling Rivers, Lakes, and Estuaries. Hoboken, NJ: Wiley-Interscience.
Kiong, L. V. 2012. Visual Basic 2010 Made Easy. North Charleston, SC: CreateSpace Independent Publishing Platform.
Loffelmann, K., and Purohit, S. 2011. Microsoft Visual Basic 2010 Developers Handbook. Developer Reference Series. Ottawa, Canada:
Microsoft Press.
Murdocca, M. J., and Heuring, V. P. 1999. Principles of Computer Architecture. Upper Saddle River, NJ: Prentice Hall.
Open Source Initiative. 2016. http://www.opensource.org (accessed February 2, 2016).
Petroutsos, E. 2002. Mastering Visual Basic.NET. Alameda, CA: SYBEX Inc.
Schildt, H. 2007. Java: A Complete Reference, 7th ed. Osborne, KS: McGraw-Hill.
Schneider, D. I. 2013. An Introduction to Programming Using Visual Basic 2010 (with Visual Studio 2012 Express Edition DVD), 9th ed.
Upper Saddle River, NJ: Pearson.
Stat Counter. 2015. Top 8 Operating Systems in Asia from Jan to Aug 2015. http://gs.statcounter.com/#all-os-as-monthly-201501-201508
(accessed February 12, 2016).
Welsh, J., and Elder, J. 1988. Introduction to Pascal, 3rd ed. Englewood Cliffs, NJ: Prentice-Hall.
W3Schools.com. 2016. OS Platform Statistics. http://www.w3schools.com/browsers/browsers_os.asp (accessed February 12, 2016).
2 Computer Modeling Applications for Water and Wastewater Properties
2.1 INTRODUCTION
This chapter presents water and wastewater characteristics that can be expressed by mathematical
equations or models and then formulated into workable computer programs. Also included in this chapter
are computer programs dealing with water resources or sources, usage, and groundwater flow.
The importance of water for all ecosystems is well known, and the availability of water resources has
governed the location and evolution of civilizations, their progress, development, and the well-being of
mans socioeconomic situation (or condition). The importance of water is manifested in the following
(Abdel-Magid 1986; Abdel-Magid and ElHassan 1986; Grigg 2012; Howe et al. 2012; Lin 2014; London
and General Water Purifying Company 2012; McGhee and Steel 1991; Nemerow et al. 2009; Peavy et al.
1985; Ricketts et al. 2003; Rowe and Abdel-Magid 1995; Spellman 2013; Vesilind and Peirce 1997;
1.Viessman et al. 2015): Existence and evolution of the three kingdoms of plant, animal, and protista
2. 3.Dissolution of organic and inorganic materials Initiation and implementation of agricultural and
4.industrial development projects Initiation, execution, and operation of recreational activities such as
5.boating, site-seeing areas, fishing, swimming, and golf courses Transportation of raw materials and
6.navigational activities Conveyance and final disposal of wastes 2.2 PROPERTIES OF WATER AND
WASTEWATER
The characteristics of water or wastewater are important for various purposes such as the following
(Rowe and Abdel-Magid 1995): Selecting treatment facilities
Evaluating operation of existing units
Evaluating relevance of methods and policies Estimating past, present, and future degrees of
pollution Managing discharge, recreation, and reuse Adopting guidelines, regulations, bylaws, and
standards Employing appropriate surveillance and monitoring systems Introducing or updating
operational, maintenance, and training schemes and programs Managing and controlling
environmental quality Classification of water and wastewater characteristics involves physical,
chemical, biological, and radiological parameters.
2.3.1 TEMPERATURE
Water and wastewater may experience variations in temperature due to climatic influences, hot
discharges, and industrial discharges. An increase in temperature can pose certain problems such as the
following: Affecting the performance of treatment units Reducing the concentration of dissolved oxygen
(DO) Accelerating the rate of chemical and biochemical reactions Reducing the solubility of gaseous
substances Increasing the rate of corrosion of materials Increasing the toxicity of dissolved substances
Increasing undesirable growths
Increasing problems of taste and odor
Equations 2.1 through 2.4 can be used to convert between Centigrade (C), Fahrenheit (F), Kelvin (K), and
Rankine (R) temperatures.
(2.1)
(2.2)
(2.3)
(2.4)
Example 2.1
1. Write a short computer program that enables converting temperatures between Fahrenheit,
Centigrade, Kelvin, and Rankine temperatures.
2. Convert 20F, 160F, and 40F to Celsius and Kelvin reading. Convert 30C, 75C, and
10C to Fahrenheit and Rankine degrees.
Solution
1. For solution to Example 2.1 (1), see the listing of Program 2.1.
a. Solution to Example 2.1 (2): Given: T = 20F, 160F, and 40F; T = 30C, 75C, and
2.
10C.
b. Determine C20 = (5/9)*(F32) = (5/9)*(2032) = 6.7. Similarly, C160 = 71.1 and C
40 = 40.
c. Find K6.7 = C + 273.15 = 6.7 + 273.15 = 266.45. Similarly, K71.1 = 344.25 and K40 =
233.15.
d. Find F30 = (9/5)*C + 32 = (9/5)*30 + 32 = 86
Similarly, F75 = 167 and F10 = 14.
* Compute R86 = 86 + 459.67 = 545.67
Similarly, R167 = 626.67 and R14 = 473.67.
'*********************************************************************************
'Program 2.1
'Converts temperature to different scales
'*********************************************************************************
Public Class Form1
Dim ttl(3) As String'The members of the list of selections Dim
f, c, k, r As Double'Variables used in calculations
**********************************************************************************
'Code in Form_Load sub will be executed when the form is loading, 'i.e.,
first thing after program loads into the memory
**********************************************************************************
Private Sub Form1_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
ttl(0) = "Fahrenheit"
ttl(1) = "Centigrade"
ttl(2) = "Kelvin"
ttl(3) = "Rankine"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
r = f = c = k = 0'Initialize all variables to '0'
Me.MaximizeBox = False
'Text shown on top
Me.Text = "Program 2.1:Converts temperature to different scales"
'Label control on left upper part of the form
Label1.Text = "Convert temperature from:"
ListBox1.Items.Clear()'Initialize
For i = 0 To ttl.Length - 1
ListBox1.Items.Add(ttl(i))'Add members to the list Next
'The labels on left and right lower part of the form will be
invisible initially, 'together with the Textbox and the NumericUpDown
control.
Label2.Visible = False
TextBox1.Visible = False
Label4.Text = "Decimal Places:"
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
NumericUpDown1.Value = 2
Label4.Visible = False
NumericUpDown1.Visible = False
Set sizes for label at upper right side of the form.
AutoSize is set to false to allow user resizing.
Label3.AutoSize = False
Label3.Height = 95
Label3.Width = 150
viewResults()
End Sub
'****************************************************************************
'Code in SelectedIndexChanged member of the ListBox will be executed
'when the user clicks on a member of the listbox and changes selection.
'The following code will recalculate the results and show them when ever
'the user changes his selection.
'****************************************************************************
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged Make sure
the selected unit is a valid one, else exit the sub safely.
If ListBox1.SelectedIndex < 0 Then
Label2.Visible = False
TextBox1.Visible = False
Label4.Visible = False
NumericUpDown1.Visible = False
Exit Sub
End If
Label2.Text = "Enter temperature in " +
ListBox1.SelectedItem.ToString Label2.Visible = True
TextBox1.Visible = True
Label4.Visible = True
NumericUpDown1.Visible = True
calculateResults()
viewResults()
End Sub
'****************************************************************************
'Code in TextChanged member of the TextBox will be executed 'when the
user changes the text.
'The following code will recalculate the results and show them when ever
'the user changes the input.
'****************************************************************************
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TextBox1.TextChanged
calculateResults()
viewResults()
End Sub
Function FnCen(ByVal f)'Function to change Fahrenheit to
Centigrade Return 5 / 9 * (f - 32)
End Function
Function FnFah(ByVal c)'Function to change Centigrade to
Fahrenheit Return 9 / 5 * c + 32
End Function
Function FnKel(ByVal c)'Function to change Centigrade to
Kelvin Return c + 273.15
End Function
Function FnRan(ByVal f)'Function to change Fahrenheit to
Rankine Return f + 459.67
End Function
'****************************************************************************
'The following function is used to format the output of the calculations
'it uses the value selected in the NumericUpDown control as a guide to 'the
number of decimal places in output, then returns 'n' as a string 'formatted
according to the set number of decimals.
'****************************************************************************
Function formatN(ByVal n As Double) As String
Use the function as FormatNumber(NumberToFormat,
NumberOfDecimals).
Return FormatNumber(n, NumericUpDown1.Value).ToString End Function
'****************************************************************************
'The following code calculates the results of changing the degrees.
'It first checks for valid input in the TextBox, then calculates based
'on the selected item in the ListBox.
'****************************************************************************
Sub calculateResults()
Dim t = Val(TextBox1.Text)
If Not IsNumeric(t) Or t = 0 Then
r = f = c = k = 0
Exit Sub
End If
Select Case ListBox1.SelectedIndex
Case 0
f = Val(TextBox1.Text)
c = FnCen(f)
k = FnKel(c)
r = FnRan(f)
Case 1
c = Val(TextBox1.Text)
f = FnFah(c)
k = FnKel(c)
r = FnRan(f)
Case 2
k = Val(TextBox1.Text)
c = k - 273.15
f = FnFah(c)
r = FnRan(f)
Case 3
r = Val(TextBox1.Text)
f = r - 459.67
c = FnCen(f)
k = FnKel(c)
Case Else
Safeguard mechanism. If any error in the selection,
'Zero all the variables.
r = f = c = k = 0
End Select
End Sub
****************************************************************************
'Show the calculations done in calculateResults() in the Label3 control.
****************************************************************************
Sub viewResults()
Label3.Text = "C=" + formatN(c) + Chr(10) + Chr(13) _
+ "F=" + formatN(f) + Chr(10) + Chr(13) _
+ "K=" + formatN(k) + Chr(10) + Chr(13) _
+ "R=" + formatN(r)
End Sub
****************************************************************************
'Whenever a different number of decimals is selected, re-show the
results.
****************************************************************************
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles NumericUpDown1.ValueChanged
viewResults()
End Sub
End Class
2.3.2 CONDUCTIVITY
Conductivity denotes the ability of an aqueous solution to carry an electric current. This ability is a
function of concentration, mobility, valence and relative concentration of ions, and temperature.
Generally, solutions of most inorganic acids, bases, and salts are relatively good conductors. The
conductivity may also be defined as the electrical conductance of a conductor of unit length and unit
cross-sectional area (Rowe and Abdel-Magid 1995).
The relationship between conductivity and concentration of dissolved solids in a solution may be
expressed as follows:
(2.5)
where:
EC is the electrical conductivity, micromho/cm or microsiemens/cm
TDS is the total dissolved solids, mg/L
a is the constant
Example 2.2
1. Write a computer program that enables the computation of the electrical conductivity of a
sample of known concentration of total dissolved solids (TDSs), given the total dissolved
solids and electrical conductivity of another sample as TDS1 and EC1, respectively.
2. The TDS of a certain sample is recorded as 890 mg/L, and its EC amounted to 1025
mmhos/cm. Determine the electrical conductivity of another sample that has a TDS of 1450
mg/L.
Solution
1. For solution to Example 2.2 (1), see the listing of Program 2.2.
a. Solution to Example 2.2 (2): Find the constant a for the sample as a = TDS/EC by a =
2.
890/1025 = 0.87.
b. Determine the electrical conductivity for the second sample by EC2 = TDS2/a =
1450/0.87 = 1667 mmohs/cm.
'*********************************************************************************
'Program 2.2: Conductivity
'Computes electric conductivity of a sample of known TDS concentration
'*********************************************************************************
Public Class Form1
Dim TDS1, EC1, TDS2, EC2 As Double 'Variables used in calculations
'*********************************************************************************
'Code in Form_Load sub will be executed when the form is loading, 'i.e.,
first thing after program loads into the memory
'****************************************************************************
Private Sub Form1_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
Me.MaximizeBox = False
Me.Text = "Electric conductivity of a sample of known TDS
concentration"
Label1.Text = "Enter total Dissolved Solids (TDS)
concentration(Sample1) mg/L:"
Label2.Text = "Enter electrical conductivity of Sample1umhos/cm:"
Label3.Text = "Enter total Dissolved Solids (TDS)
concentration(Sample2) mg/L:"
Label4.Text = "Electrical conductivity for Sample2:"
Label5.Text = "umhos/cm"
Label6.Text = "Decimal Places:"
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
NumericUpDown1.Value = 2
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
End Sub
'****************************************************************************
'The following code calculates the result of EC2 depending on the input
'values in textboxes 1-3.
'The Val(x) function is used to convert from String to Numerical.
'The FormatNumber is used to format the output to specific decimals.
'****************************************************************************
Sub calculateResults()
Dim a As Double
TDS1 = Val(TextBox1.Text)
EC1 = Val(TextBox2.Text)
TDS2 = Val(TextBox3.Text)
a = TDS1 / EC1
EC2 = TDS2 / a
Use the function as FormatNumber(NumberToFormat,
NumberOfDecimals).
TextBox4.Text = FormatNumber(EC2, NumericUpDown1.Value).ToString
End Sub
'****************************************************************************
'Whenever a different number of decimals is selected, re-show the
results.
'****************************************************************************
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles NumericUpDown1.ValueChanged
calculateResults()
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TextBox1.TextChanged
calculateResults()
End Sub
Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TextBox2.TextChanged
calculateResults()
End Sub
Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TextBox3.TextChanged
calculateResults()
End Sub
End Class
2.3.3 SALINITY
Salinity may be described as the total solids in water after all carbonates have been converted to oxides,
all bromide and iodide have been replaced by chloride, and all organic matter has been oxidized (APHA
2012). The chloride content of natural waters may be augmented from geological formations containing
chlorides, or through salt water intrusion, or from agricultural, industrial, and domestic discharges (Rowe
and Abdel-Magid 1995). Salinity as a function of chlorinity is pr\esented as follows (APHA 2012):
(2.6)
where:
sa is the salinity, g/kg
ch is the chlorinity, g/kg
Example 2.3
1. Write a short computer program that enables the computation of total, volatile, and fixed
solids of a certain sample. The following data are given: mass of crucible dish (m1) in
grams, volume of sample (V) in milliliters, constant mass of dish plus solids dried at 104C
(m2), and weight of cool dish (after being placed in 550C furnace) (m3).
2. Given for a certain sample that m1 = 35.6248 g, m2 = 35.6452 g, m3 = 35.6319 g, and V =
150 mL, find the total, volatile, and fixed solids of the sample.
FIGURE 2.1 Types of solids.
Solution
1. See the listing of Program 2.3.
a. Solution for Example 2.3 (2): Given: m1 = 35.6248 g, m2 = 35.6452 g, m3 = 35.6319 g, V =
2.
150 mL.
b. Evaluate the mass of total solids as follows: msolids = (mass of dish + solids) mass of
dish = m2 m1 = 35.6452 35.6248 = 0.0204 g = 20.4 mg.
c. Find the concentration of total solids: = mass of solids (mg)/volume of sample = msolids/V
= 20.4 * 1000/150 = 136 mg/L.
d. Determine the mass of volatile solids as follows: mvolatile = (mass of dish + volatile
solids) mass of dish = m3 m1 = 35.6319 35.6248 = 0.00071 g.
e. Determine the concentration of volatile solids as follows: mvolatile/V = 7.1 * 1000/150 =
47 mg/L.
f. Compute the concentration of fixed solids as follows: mfixed = content of total solids
content of volatile solids = msolids mvolatile = 136 47 = 89 mg/L.
'*********************************************************************************
'Program 2.3: Salinity
'Computes solid contents
'*********************************************************************************
Public Class Form1
Dim m1, m2, m3, volume As Double
Const T1 = 104'Centigrade
'****************************************************************************
'Code in Form_Load sub will be executed when the form is loading, 'i.e.,
first thing after program loads into the memory
'****************************************************************************
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.FormBorderStyle =
Windows.Forms.FormBorderStyle.FixedSingle Me.MaximizeBox = False
Me.Text = "Program 2.3: Determines the solids content"
Label1.Text = "Enter weight of crucible m1 (gm):"
Label2.Text = "Enter volume of sample V (mL):"
Label3.Text = "Enter weight of dish+solids at 104 C (mg):"
Label4.Text = "Enter weight of dish+ solids after heating to 550 C
(mg):"
Label5.Text = "Concentration of total solids (mg/L)="
Label6.Text = "Concentration of volatile solids (mg/L)="
Label7.Text = "Concentration of fixed solids (mg/L)="
Label8.Text = "Decimal Places:"
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
NumericUpDown1.Value = 2
End Sub
Sub calculateResults()
m1 = Val(TextBox1.Text)
volume = Val(TextBox2.Text)
m2 = Val(TextBox3.Text)
m3 = Val(TextBox4.Text)
Dim msds, csds, mvols, cvols, cfixs As Double
msds = m2 - m1'solids
csds = msds * 10 ^ 6 / volume'concentration of solids mvols
= m3 - m1 'volatiles
cvols = mvols * 10 ^ 6 / volume
cfixs = csds - cvols
TextBox5.Text = FormatNumber(csds, NumericUpDown1.Value).ToString
TextBox6.Text = FormatNumber(cvols, NumericUpDown1.Value).ToString
TextBox7.Text = FormatNumber(cfixs, NumericUpDown1.Value).ToString End Sub
'****************************************************************************
'Whenever a different number of decimals is selected, re-show the
results.
'****************************************************************************
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles NumericUpDown1.ValueChanged
calculateResults()
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TextBox1.TextChanged
calculateResults()
End Sub
Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TextBox2.TextChanged
calculateResults()
End Sub
Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TextBox3.TextChanged
calculateResults()
End Sub
Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TextBox4.TextChanged
calculateResults()
End Sub
End Class
(2.7)
where:
is the density of the fluid, kg/m3
m is the mass, kg
V is the volume, m3
The specific volume is the volume per unit mass, that is, it is the reciprocal of the density as shown by the
following equation:
(2.8)
where:
is the specific volume of the fluid, m3/kg
is the density of the fluid, kg/m3
The specific weight is the weight of unit volume as shown in the following equation:
(2.9)
where:
is the specific weight, N/m3
m is the mass, kg
g is the gravitational acceleration, m/s2
V is the volume, m3
is the density of the fluid, kg/m3
The specific gravity is the ratio of the density of fluid to the density of water at some specified
temperature. The following equation indicates the specific gravity concept:
(2.10)
Example 2.4
1. Write a computer program that allows the computation of density, specific volume, specific
weight, and specific gravity of a particular fluid, given the temperature, mass, and volume of
the fluid.
2. The specific weight of water at ordinary temperature and pressure conditions is 9.806
a. kN/m3. The specific gravity of mercury is 13.55. Find Density of mercury.
b. Specific weight of mercury.
c. Density of water.
Solution
1. For solution to Example 2.4 (1), see the listing of Program 2.4.
a. Solution to Example 2.4 (2): Given: = 9.806 kN/m3, s.g.Hg = 13.55.
2.
b. Determine the density of water as follows: = water/g = 9.806 kN/m3/9.81 m/s2 = 1
Mg/m3 = 1 g/cm3.
c. Find the specific weight of mercury as follows: Hg = s.g.Hg*water = 13.55 * 9.806 = 133
kN/m3.
d. Compute the density of mercury as follows: Hg = s.g.Hg*water = 13.55 * 1 = 13.55
Mg/m3.
'*********************************************************************************
'Program 2.4: Density
'Computes Density and specific gravity
'*********************************************************************************
Public Class Form1
Const gamma = 1000'density of water KN/m3
Const g = 9.801'acceleration due to gravity
Dim t(3) As String
Dim m, Ro, V, sv, sw, sg As Double'Variables used in calculations
'*********************************************************************************
'Code in Form_Load sub will be executed when the form is loading, i.e.,
first thing after program loads into the memory
****************************************************************************
Private Sub Form1_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
t(0) = "Compute density"
t(1) = "Compute specific volume"
t(2) = "Compute specific weight"
t(3) = "Compute specific gravity"
ListBox1.Items.Clear()'Initialize
For i = 0 To t.Length - 1
ListBox1.Items.Add(t(i))'Add members to the list Next
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Me.Text = "Program 2.4:Computes Density and specific gravity"
Label5.Text = "Decimal Places:"
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
NumericUpDown1.Value = 2
Label1.Text = "What to compute:"
Label2.Visible = False
Label3.Visible = False
Label4.Visible = False
Label5.Visible = False
TextBox1.Visible = False
TextBox2.Visible = False
TextBox3.Visible = False
NumericUpDown1.Visible = False
End Sub
****************************************************************************
The following code shows/hides the labels and textboxes according to
the selected item from the list. It also sets the text displayed in each
label.
****************************************************************************
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged If
ListBox1.SelectedIndex < 0 Then Exit Sub
Select Case ListBox1.SelectedIndex
Case 0
Label2.Text = "Enter the mass in Kg:"
Label3.Text = "Enter the volume in m3:"
Label4.Text = "The density 'Ro' (Kg/m3):"
Case 1
Label2.Text = "Enter the the density 'Ro' (Kg/m3):"
Label4.Text = "The Specific volume (m3/Kg):"
Case 2
Label2.Text = "Enter the the density 'Ro' (Kg/m3):"
Label4.Text = "Specific wight (N/m2):"
Case 3
Label2.Text = "Enter the the density 'Ro' (Kg/m3):"
Label4.Text = "Specific gravity:"
End Select
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
Label2.Visible = True
Label4.Visible = True
Label5.Visible = True
TextBox1.Visible = True
TextBox3.Visible = True
NumericUpDown1.Visible = True
If ListBox1.SelectedIndex = 0 Then
Label3.Visible = True
TextBox2.Visible = True
Else
Label3.Visible = False
TextBox2.Visible = False
End If
End Sub
****************************************************************************
The following code calculates the results according to the selected
item from the list box and displays the result in TextBox3.
****************************************************************************
Sub calculateResults()
If ListBox1.SelectedIndex < 0 Then Exit Sub
Select ListBox1.SelectedIndex
Case 0
m = Val(TextBox1.Text)
v = Val(TextBox2.Text)
Ro = m / v'the density
TextBox3.Text = formatN(Ro)
Case 1
Ro = Val(TextBox1.Text)
sv = 1 / Ro'specific volume
TextBox3.Text = formatN(sv)
Case 2
Ro = Val(TextBox1.Text)
sw = Ro * g'specific weight
TextBox3.Text = formatN(sw)
Case 3
Ro = Val(TextBox1.Text)
sg = Ro / gamma'specific gravity
TextBox3.Text = formatN(sg)
End Select
End Sub
****************************************************************************
Whenever a different number of decimals is selected, re-show the
results.
****************************************************************************
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles NumericUpDown1.ValueChanged
calculateResults()
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TextBox1.TextChanged
calculateResults()
End Sub
Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TextBox2.TextChanged
calculateResults()
End Sub
****************************************************************************
The following function is used to format the output of the calculations
it uses the value selected in the NumericUpDown control as a guide to the
number of decimal places in output, then returns 'n' as a string formatted
according to the set number of decimals.
****************************************************************************
Function formatN(ByVal n As Double) As String
Use the function as FormatNumber(NumberToFormat,
NumberOfDecimals).
Return FormatNumber(n, NumericUpDown1.Value).ToString End Function
End Class
(2.11)
where:
is the shear stress, N/m2 (see Figure 2.4) F is the shear force acting on a very wide plate free to
move, N
A is the area, m2
is the dynamic (absolute) viscosity, N*s/m2
du/dy is the velocity gradient (rate of angular deformation, rate of shear), s1
Coefficient of dynamic viscosity, m, may be described as The shear force per unit area required to drag
one layer of fluid with unit velocity past another layer through unit distance in the fluid (Rowe and
Abdel-Magid 1995). Equation 2.12 gives the relationship between viscosity and density:
(2.12)
where:
is the dynamic (absolute) viscosity, N*s/m2
is the kinematic viscosity, m2/s (usually defined as the ratio of dynamic viscosity to mass density) is
the density, kg/m3
FIGURE 2.4 Viscosity concept.
For many liquids, the stressvelocity gradient relationship is not a simple ratio. Such liquids are termed
non-Newtonian, for example, sewage sludge. Figure 2.3 illustrates the variation of shear stress with
velocity gradient for different types of fluids. The factors that influence viscosity include temperature, rate
of variation of shearing stress, flow conditions, and characteristics of the fluid.
Example 2.5
1. Write a short computer program to determine the value of the kinematic viscosity of a fluid,
given its dynamic viscosity, density, and temperature.
2. For a liquid with a dynamic viscosity of 4.5 * 103 Pa*s and a density of 912 kg/m3,
determine its kinematic viscosity.
3. Use the program developed in (1) to verify data presented in (2).
Solution
1. For solution to Example 2.5 (1), see the listing of Program 2.5.
a. Solution to Example 2.5 (2): Given: = 4.5 * 103 Pa*s, = 912 kg/m3.
2.
b. Determine the kinematic viscosity as follows: = / = 4.5 * 103 Pa*s/912 kg/m3 =
*106 m2/s.
'*********************************************************************************
'Program 2.5: Viscosity
'Computes kinematic viscosity from dynamic viscosity
'*********************************************************************************
Public Class Form1
Dim mu, rho, FnKinem'Variables used in calculations
****************************************************************************
Code in Form_Load sub will be executed when the form is loading, i.e.,
first thing after program loads into the memory
****************************************************************************
Private Sub Form1_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Me.Text = "Computes kinematic viscosity from dynamic viscosity"
Label1.Text = "Enter dynamic viscosity uinNs/m2:"
Label2.Text = "Enter density of liquid Ro inKg/m3:"
Label3.Text = "The Kinematic viscosity equals:"
Label4.Text = "m2/s"
Label5.Text = "Decimal Places:"
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
NumericUpDown1.Value = 2
End Sub
****************************************************************************
Code in TextChanged member of the TextBox will be executed when the
user changes the text.
The following code will recalculate the results and show them when ever
the user changes the input.
****************************************************************************
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TextBox1.TextChanged calculateResults()
End Sub
Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TextBox2.TextChanged calculateResults()
End Sub
****************************************************************************
The following code calculates the result according to the inputs in
the text boxes. It then shows result in TextBox3.
****************************************************************************
Sub calculateResults()
mu = Val(TextBox1.Text)
rho = Val(TextBox2.Text)
FnKinem = mu / rho
TextBox3.Text = FormatNumber(FnKinem,
NumericUpDown1.Value).ToString End Sub
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles NumericUpDown1.ValueChanged
calculateResults()
End Sub
End Class
(2.13)
where:
h is the column height by which liquid rose along the capillary tube, m is the surface tension, N/m
is the angle of contact subtended by the heavier fluid and tube (= 0 for most organic liquids and
water against glass, provided the glass is wet with a film of the liquid [Green and Perry 2007]; =
130 for mercury against glass [Munson et al. 2012]) l is the density of liquid, kg/m3
g is the density of gas (or light liquid), kg/m3
g is the local gravitational acceleration, m/s2
D is the inside diameter of capillary tube, m
FIGURE 2.5 Surface tension: (a) capillary rise (wetting liquid); (b) capillary depression (nonwetting
liquid).
Example 2.6
1. Write a computer program to enable the determination of the rise of water along capillary
tubes for a temperature range between 0C and 100C and for tubes with diameters ranging
between 10 and 60 mm.
2. Compute the diameter of a clean glass tube required so that the rise of water at 30C in the
tube due to capillary action does not exceed 2 mm.
Solution
1. For solution to Example 2.6 (1), see the listing of Program 2.6 (fluid properties calculators
may also be used such as:
http://www.mhtl.uwaterloo.ca/old/onlinetools/airprop/airprop.html).
a. Solution to Example 2.6 (2): Given: h = 2 * 103 m, T = 30C.
2.
b. For a temperature of 30C and from Appendix A1, = 0.07118 N/m and = 9.765
kN/m3.
c. COMPUTE THE DIAMETER AS FOLLOWS: D = 4*S*COS/*H = [4 * 0.07118*COS
0]/[9.765 * 103 * 2*103] = 14.6 mm.
'*********************************************************************************
'Program 2.6: Tension
'Computes capillary heights in surface tension problems
'*********************************************************************************
Imports System.Math
Public Class Form1
'Arrays used to store temperature values
Dim temp(40), sigma(40), density(40) As Double
Dim ttl(2) As String
Dim diam, T, Rog As Double'Variables used in
calculations Dim sigmaData, densityData As String 'Raw termperature
data 'constants
Const pi = 3.142857
Const g = 9.81 'acceleration due to gravit
Const phiw = 0 'angle of contact water & glass Const phim =
130'angle of contact mercury & glass Const Hgd = 13.55
Private Sub Form1_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
ttl(0) = "Determine capillary height h"
ttl(1) = "Determine the diameter of the glass tube for a specific
h"
ttl(2) = "Determine surface tension"
Temperature-Surface tension table for water- in dyne/cm sigmaData
= "74.92,74.78,74.64,74.50,74.36,74.22,74.07,73.93,73.78,73.64,"
sigmaData = sigmaData +
"73.49,73.34,73.19,73.05,72.90,72.75,72.59,72.44,72.28,72.13,"
sigmaData = sigmaData +
"71.97,71.82,71.66,71.5,71.35,71.18,71.02,70.86,70.7,70.53,"
sigmaData = sigmaData + "70.38,70.21,70.05,69.88"
Temperature-Density table- kg/m3
densityData =
"999.965,999.941,999.902,999,849,999.781,999.7,999.605,999.498,"
densityData = densityData +
"999.377,999.244,999.099,998.943,998.774,998.595,998.405,998.203,"
densityData = densityData +
"997.992,997.77,997.538,997.296,997.044,996.783,996.512,996.232,"
densityData = densityData +
"995.944,995.646,995.34,995.025,994.702,994.374,994.03,993.68,"
densityData = densityData + "993.33,992.296"
Parse the above data, storing it from String format into Array
format..
readData(sigmaData, densityData)
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Me.Text = "Program 2.6:Computes capillary heights in surface
tension problems"
Add the options to the list box
ListBox1.Items.Clear()
For i = 0 To ttl.Length - 1
ListBox1.Items.Add(ttl(i))
Next
Options used when calculating the capillary height
RadioButton1.Text = "Water tube"
RadioButton2.Text = "Mercurial tube"
RadioButton1.Checked = True
RadioButton1.Visible = False
RadioButton2.Visible = False
Hide all labels and text boxes at the start
Label2.Visible = False
Label3.Visible = False
Label4.Visible = False
Label5.Visible = False
Label6.Visible = False
TextBox1.Visible = False
TextBox2.Visible = False
TextBox3.Visible = False
TextBox4.Visible = False
TextBox5.Visible = False
Label7.Text = "Decimal Places:"
NumericUpDown1.Maximum = 15
NumericUpDown1.Minimum = 0
NumericUpDown1.Value = 8
Label7.Visible = False
NumericUpDown1.Visible = False
End Sub
****************************************************************************
This function reads the data stored in two strings,
the sigmaData and densityData strings. It uses call-back to itself to
add elements to the sigma and destiny arrays, chopping the first value
stored in each string every time it loops, until the last value in the
string is reached.
****************************************************************************
Sub readData(ByVal sigmaData As String, ByVal densityData As String)
Static count = 5'Declared static so one instance of it is used
temp(count) = count
If sigmaData.IndexOf(",") < 0 Then'if last value in the string is
reached..
sigma(count) = Val(sigmaData)
sigma(count) = sigma(count) / 1000'convert to N/m
density(count) = Val(densityData)
Else 'if there are still values in the string..
Read from inside-out: first determine the index of the first
','
'in the string,
then take the substring from the beginning to just before the
',' and then convert this string to numerical value.. Simple!!
sigma(count) = Val(sigmaData.Substring(0,
sigmaData.IndexOf(","))) sigma(count) = sigma(count) / 1000'convert to
N/m density(count) = Val(densityData.Substring(0, densityData.IndexOf(",")))
Remove the first value, which is already stroed in the array, 'from the
string,
using the index of the ',' removing everything before the
comma (equals the first value)..
sigmaData = sigmaData.Remove(0, sigmaData.IndexOf(",") + 1)
densityData = densityData.Remove(0, densityData.IndexOf(",") + 1) count +=
1'increase the count by one
'call-back to the function, passing the new strings
readData(sigmaData, densityData)
End If
End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged If
ListBox1.SelectedIndex < 0 Then
Label7.Visible = False
NumericUpDown1.Visible = False
Exit Sub
End If
Select Case ListBox1.SelectedIndex
Case 0
Determine capillary height h
Label2.Text = "Enter diameter of tube in (mm) (between 10
to 60mm):"
Label3.Text = "Enter temperature t (C) (5<t<38):"
Label4.Text = "Enter the density of the gas (kg/m3):"
Label6.Text = "The column height h (m):"
Case 1
Determine the diameter of the glass tube for a specific
h Label2.Text = "Enter the density of the liquid or gas, kg/m3:"
Label3.Text = "Enter surface tension coefficient, N/m:"
Label4.Text = "Enter angle of contact in degrees:"
Label5.Text = "Enter the exent of the liquid rise in the
tube, m:"
Label6.Text = "the required diameter of the tube (m):"
Case 2
Determine sigma
Label2.Text = "Enter the density of the liquid or gas,
kg/m3:"
Label3.Text = "Enter the diameter of the capillary
tube,m:"
Label4.Text = "Enter angle of contact in degrees:"
Label5.Text = "Enter the exent of the liquid rise in the
tube, m:"
Label6.Text = "the surface tension coefficient (N/m)="
End Select
Make the labels and text boxes visible after the user makes the
selection Label2.Visible = True
Label3.Visible = True
Label4.Visible = True
Label6.Visible = True
Label7.Visible = True
NumericUpDown1.Visible = True
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox1.Visible = True
TextBox2.Visible = True
TextBox3.Visible = True
TextBox5.Visible = True
If ListBox1.SelectedIndex = 0 Then
Label5.Visible = False
TextBox4.Visible = False
RadioButton1.Visible = True
RadioButton2.Visible = True
Else
Label5.Visible = True
TextBox4.Visible = True
RadioButton1.Visible = False
RadioButton2.Visible = False
End If
End Sub
****************************************************************************
Code in TextChanged member of the TextBox will be executed when the
user changes the text.
The following code will recalculate the results and show them when ever
the user changes the input.
****************************************************************************
Private Sub TextBox1_TextChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles TextBox1.TextChanged
calculateResults()
End Sub
Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TextBox2.TextChanged
calculateResults()
End Sub
Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TextBox3.TextChanged
calculateResults()
End Sub
Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TextBox4.TextChanged
calculateResults()
End Sub
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles NumericUpDown1.ValueChanged
calculateResults()
End Sub
****************************************************************************
The following code calculates the result according to the inputs in
the text boxes. It then shows result in TextBox5.
****************************************************************************
Sub calculateResults()
If ListBox1.SelectedIndex < 0 Then
Exit Sub
Dim s, Roww, h, Ro, sig, phi, d As Double
Select ListBox1.SelectedIndex
Case 0
diam = Val(TextBox1.Text)
T = Val(TextBox2.Text)
Rog = Val(TextBox3.Text)
If diam < 10 Or diam > 60 Then
TextBox5.Text = "The Diameter should be between 10
and 60 mm."
Exit Sub
End If
If T < 5 Or T > 38 Then
TextBox5.Text = "The Temperature should be between 5
and 38 degrees."
Exit Sub
End If
get the value of sigma and density of water
corresponding to temp t For i = 5 To 38
If T = temp(i) Then
s = sigma(i)
Roww = density(i)
Exit For
End If
Next i
compute height h
If RadioButton1.Checked Then 'Use water tube h = 4 * s
* Cos(phiw * pi / 180) / (g * diam * (Roww - Rog)) Else
'Use mercurial tube
h = 4 * s * Cos(phim * pi / 180) / (g * diam * (Roww -
Rog)) End If
TextBox5.Text = formatN(h)
Case 1
Ro = Val(TextBox1.Text)
sig = Val(TextBox2.Text)
phi = Val(TextBox3.Text)
h = Val(TextBox4.Text)
phi = phi * pi / 180 'in radians
d = 4 * sig * Cos(phi) / (Ro * g * h)
TextBox5.Text = formatN(d)
Case 2
Ro = Val(TextBox1.Text)
d = Val(TextBox2.Text)
phi = Val(TextBox3.Text)
h = Val(TextBox4.Text)
phi = phi * pi / 180 'in radians
sig = h * Ro * g * d / (4 * Cos(phi))
TextBox5.Text = formatN(sig)
End Select
End Sub
****************************************************************************
The following function is used to format the output of the calculations
it uses the value selected in the NumericUpDown control as a guide to the
number of decimal places in output, then returns 'n' as a string formatted
according to the set number of decimals.
****************************************************************************
Function formatN(ByVal n As Double) As String
Use the function as FormatNumber(NumberToFormat,
NumberOfDecimals).
Return FormatNumber(n, NumericUpDown1.Value).ToString End Function
Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
calculateResults()
End Sub
Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged
calculateResults()
End Sub
End Class
(2.14)
where:
Eb is the bulk modulus, N/m2
dP is the differential change in pressure, Pa
dV is the differential change in volume, m3
V is the volume, m3
is the density of fluid, kg/m3
The negative sign shows that an increase in pressure produces a reduction in volume. Large values of
bulk modulus indicate that the fluid is relatively incompressible (i.e., a large pressure change is needed to
create a small change in volume) (Abdel-Magid and Abdel-Magid 2015).
Example 2.7
1. Write a computer program to compute the bulk modulus, given any differential change in
pressure needed to create any differential change in volume of a specified volume.
2. A liquid compressed in a cylinder has a volume of 2 L at 1000 kPa and a volume of 1805
cm3 at 2000 kPa. What is its bulk modulus of elasticity?
Solution
1. For solution to Example 2.7 (1), see the listing of Program 2.7.
a. Solution to Example 2.7 (2): Given: V1 = 2000 mL, V2 = 1805 ml, P1 = 1000 kPa, P2 = 2000
2.
kPa.
b. Determine the bulk modulus of the liquid as follows: Eb = dP/(dV/V) =
(20001000)kPa/[(1805 2000)/2000] = 10.3 MPa.
'*********************************************************************************
'Program 2.7: Bulk
'Computes Bulk modulus given dV and dP
'*********************************************************************************
Public Class Form1
Dim v1, v2, p1, p2, Eb As Double
Private Sub Form1_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Me.Text = "Program 2.7: Computes Bulk modulus given dV and dP"
Label1.text = "Enter initial volume V1 in mL:"
Label2.text = "Enter final volume V2 in mL:"
Label3.text = "Enter initial pressure P1 in kPa:"
Label4.text = "Enter final pressure P2 in kPa:"
Label5.Text = "The bulk modulus Eb in kPa:"
Label6.Text = "Decimal Places:"
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
NumericUpDown1.Value = 2
End Sub
****************************************************************************
Code in TextChanged member of the TextBox will be executed when the
user changes the text.
The following code will recalculate the results and show them when ever
the user changes the input.
****************************************************************************
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TextBox1.TextChanged
calculateResults()
End Sub
Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TextBox2.TextChanged
calculateResults()
End Sub
Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TextBox3.TextChanged
calculateResults()
End Sub
Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TextBox4.TextChanged
calculateResults()
End Sub
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles NumericUpDown1.ValueChanged
calculateResults()
End Sub
****************************************************************************
The following code calculates the result according to the inputs in
the text boxes. It then shows result in TextBox5.
****************************************************************************
Sub calculateResults()
v1 = Val(TextBox1.Text)
v2 = Val(TextBox2.Text)
p1 = Val(TextBox3.Text)
p2 = Val(TextBox4.Text)
Eb = -(p2 - p1) / ((v2 - v1) / v1)
TextBox5.Text = FormatNumber(Eb, numericupdown1.value).ToString End
Sub
End Class
(2.15)
where:
pH is the negative logarithm of the hydrogen ion concentration
[H+ (aq)] is the concentration of hydrogen (hydroxonium ion, H3O+) ions, mole/L
pH ranges from a value of 014. Solutions with pH of 7 are regarded as neutral, whereas solutions with
pH < 7 constitute acids, and those above pH of 7 are alkalis. A strongly acidic solution can, in theory,
have a pH < 0, and a strongly alkaline solution can have a pH > 14 (Davis 2011).
At a temperature of 298 K, the following equation is valid:
(2.16)
where:
pOH is the negative logarithm of the hydroxyl ion concentration
pH is the negative logarithm of the hydrogen ion concentration
Example 2.8
a. Write a short computer program to determine the pH, given one of the following: Hydrogen
1.
ion concentration
c. Hydroxyl ion concentration or its numerical value The molar concentration of hydrogen
b.
2. ions Determine which of the following solutions is more acidic or alkaline: A solution
with a pH of 7.2 or another containing 1.95 * 109 g of H+ per liter?
+ concentration in grams of H+ per liter of a solution containing 1 *
3. Calculate the pH and H
108.3 mole of OH per liter.
4. Use the program developed in 1(a) to verify computations conducted on 1(b) and 1(c).
Solution
1. For solution to Example 2.8 (1), see the listing of Program 2.8.
a. Solution to Example 2.8 (1): Given: pH of the first solution = 7.2, H+ and pH of the second
2.
solution = 1.95 * 109 M.
b. Find pH of the second solution as follows: pH = Log [H+] = Log 1.95 * 109 = 8.7.
c. Since the pH of the second solution is lower, it is more alkaline than the first solution.
3. The dissociation constant for water is [H+][OH] = 1014. Find the concentration of
hydrogen ions as follows: [H+] = 1 * 1014/1*108.3 = 105.7 M. pH = Log [H+] = Log 1 *
105.7 = 5.7. Hydrogen ion concentration = [H+] = 105.7*MW = 105.7 * 1.008 = 2.01 * 106
g H+/L.
'*********************************************************************************
'Program 2.8: Ph
'Computes Hydrogen ion concentration
'*********************************************************************************
Imports System.Math
Public Class Form1
Dim TTL(2) As String
Dim H, OH, POH As Double'Variables used in calculations
*********************************************************************************
Code in Form_Load sub will be executed when the form is loading, i.e.,
first thing after program loads into the memory
****************************************************************************
Private Sub Form1_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
Me.MaximizeBox = False
Me.Text = "Program 2.9: Computes Hydrogyn ion concentration"
TTL(0) = "Given Concentration of Hydrogen ions H+ in mg/L or molar"
TTL(1) = "Given Hydroxyl ion concentration in mg/L or molar"
TTL(2) = "Given negative logarithm of hydroxyl ion concentration"
Label1.Text = "Select an option:"
ListBox1.Items.Clear()
For i = 0 To TTL.Length - 1
ListBox1.Items.Add(TTL(i))
Next
Label2.Text = "Select an option from list above"
Label4.Text = "Decimal Places:"
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
NumericUpDown1.Value = 2
End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged If
ListBox1.SelectedIndex < 0 Then Exit Sub
Select Case ListBox1.SelectedIndex
Case 0
Label2.Text = "Enter concentration of Hydrogen ion H+ in
mg/L or molar:"
Case 1
Label2.Text = "Enter the Hydroxyl ion concentration in
mg/L or molar:"
Case 2
Label2.Text = "Enter the negative logarithm of hydroxyl
ion concentration:"
End Select
End Sub
Sub calculateResults()
Dim PH As Double
Select Case ListBox1.SelectedIndex
Case 0
H = Val(TextBox1.Text)
PH = FnLg10(H)
Case 1
OH = Val(TextBox1.Text)
PH = -FnLg10(10 ^ -14 / OH)
Case 2
POH = Val(TextBox1.Text)
PH = 14 - POH
End Select
Label3.Text = "PH of the solution="
TextBox2.Text = FormatNumber(PH, NumericUpDown1.Value).ToString + "
(" + checkPH(PH) + ")"
End Sub
****************************************************************************
Whenever a different number of decimals is selected, re-show the
results.
****************************************************************************
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles NumericUpDown1.ValueChanged
calculateResults()
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TextBox1.TextChanged
calculateResults()
End Sub
Function FnLg10(ByVal x) As Double
Return -0.4342944818# * LOG(x)'this is log base 10 of x End
Function
Function checkPH(ByVal PH) As String
If PH < 7 Then Return "Acidic"
If PH = 7 Then Return "Neutral"
If PH > 7 Then Return "Alkaline"
Return ""
End Function
End Class
2.4.2 HARDNESS
Hardness prevents the formation of a soap lather and is generally associated with divalent metallic
cations of calcium, Ca2+; magnesium, Mg2+; strontium, Sr2+; ferrous ion, Fe2+; and manganous ions, Mn2+,
as presented in Table 2.1. (Ca2+ and Mg2+ are the major ions generally associated with hardness).
Hardness may be computed by using Equation 2.17 (APHA 2012).
Lenntech water hardness calculator (Lenntech 2016), or Calculator 8 water hardness calculator
(Groundwater Software 2016), or Casio water hardness calculator (Casio 2016), and so on may be used
to compute its value taking into account the limits set by them for indication of the degree of water
hardness.
(2.17)
where:
Hard is the hardness, milliequivalent CaCO3/L
Ca2+ is the concentration of calcium ion, mg/L
Mg2+ is the concentration of magnesium ion, mg/L
TABLE 2.1
Principal Cations and Anions Associated with Hardness
Anions
Cations
Ca2+ HCO3
Fe2+ NO3
Mg2+ SO4
Mn2+ Cl
Sr2+ SiO3
Source: Rowe, D. R. and Abdel-Magid, I. M., Handbook of Wastewater Reclamation and Reuse, CRC Press/Lewis Publishers, Boca
Raton, FL, 1995. With permission.
When alkalinity < total hardness, carbonate hardness = alkalinity (mg/L).
When alkalinity > total hardness, carbonate hardness = total hardness (mg/L) (Rowe and Abdel-
Magid 1995).
Disadvantages:
1.
2. Hard waters are thought to be associated with cardiovascular disease Financial losses due to
3. consumption of soap Scaling of hot water systems, boilers, domestic appliances, fittings,
5.
4. utensils, bath tubs, sinks, and dishwashers Staining of clothes and household utensils Hard water
6. residues can remain in the pores of skin Increased laxative effect of hard waters containing
magnesium sulfates Table 2.2 offers a classification of waters according to their degree of
hardness.
Example 2.9
1. Write a computer program that will determine the concentration of anions and cations in
milliequivalents per liter and milligrams per liter calcium carbonate for the range of ions to be
found in hard water. Design the program so that the total, carbonate, and noncarbonate hardness;
experimental error; and the degree of water hardness can be calculated as presented in Table
2.2.
TABLE 2.2
Degrees of Hardness
mg/L as CaCO3
Degrees of Hardness
075 Soft
75150 Moderately soft
150175 Moderately hard
175300 Hard
300 Very hard
Source: Rowe, D. R. and Abdel-Magid, I. M., Handbook of Wastewater Reclamation and Reuse, CRC Press/Lewis Publishers, Boca
Raton, FL, 1995. With permission.
2. Laboratory analysis of a water sample yielded the following data:
Cation (mg/L) Anion (mg/L)
Na+ = 17.25 HCO3 = 91.5
Ca2+ = 19 SO4 = 19.2
Mg2+ = 12.2 Cl = 28.4
Sr2+ = 3.1
Compute experimental error as follows: Percentage of experimental error = (cations anions)*100/cations = (anions cations)*100/anions =
[(2.77 2.7)/2.77]*100 = 3%. Because the computed experimental error is < 10%, the analysis can be considered acceptable.
b. Plot the bar graph as indicated in the following diagram:
c. Determine the hardness as follows: total hardness = Ca2+ + Mg2+ + Sr2+ = 0.95 + 1.0 + 0.07
= 2.02 mEq/L = 2.02 * 50 = 101 mg/L as CaCO3. Carbonate hardness = HCO3 = 1.5 mEq./L
= 75 mg/L CaCO3. Noncarbonate hardness = total hardness carbonate hardness = 101 75
= 26 mg/L CaCO3.
'*********************************************************************************
'Program 2.9: Hardness
'Program to compute hardness
'*********************************************************************************
Imports System.Drawing
Public Class Form1
Dim EW(12) As Double, SYMBOL(12) As String, CONCENTRATION(12), OPT,
COL2(12), COL3(12) Dim SCATION = 0
Dim SANION = 0
'****************************************************************************
'Code in Form_Load sub will be executed when the form is loading, 'i.e.,
first thing after program loads into the memory
'****************************************************************************
Private Sub Form1_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
defConstants()
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Me.Text = "Program 2.10: Computes hardness"
Label1.Text = "Select concentration:"
ListBox1.Items.Clear()
ListBox1.Items.Add("Concentration in mg/Litre")
ListBox1.Items.Add("Concentration in mequivalent/Litre") Dim I As
Integer = 1
For Each c As Control In Me.Controls
If c.Name.StartsWith("Label") Then
If Not c.Name.Equals("Label1") Then
c.Text = "Concentration of " + SYMBOL(I) + ":"
I += 1
End If
End If
Next
End Sub
Sub defConstants()
EW(1) = 20.0485
EW(2) = 12.1525
EW(3) = 27.9235
EW(4) = 27.4654
EW(5) = 43.81
EW(6) = 22.98977
EW(7) = 30.0246
EW(8) = 61.019
EW(9) = 48.033
EW(10) = 35.453
EW(11) = 62.0049
EW(12) = 38.0419
SYMBOL(12) = "Ca2+"
SYMBOL(11) = "Mg2+"
SYMBOL(10) = "Fe2+"
SYMBOL(9) = "Mn2+"
SYMBOL(8) = "Sr2+"
SYMBOL(7) = "Na+"
SYMBOL(6) = "CO3-"
SYMBOL(5) = "HCO3"
SYMBOL(4) = "SO4-"
SYMBOL(3) = "CL-"
SYMBOL(2) = "NO3-"
SYMBOL(1) = "SiO3-"
End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
calculateResults()
drawResults()
End Sub
Sub calculateResults()
SCATION = 0
SANION = 0
Dim i As Integer
For Each c As Control In Me.Controls
If c.Name.StartsWith("TextBox") Then
i = Val(c.Name.Remove(0, 7))
CONCENTRATION(i) = Val(c.Text)
If ListBox1.SelectedIndex = 0 Then
COL2(i) = CONCENTRATION(i) / EW(i) 'C/EW
If ListBox1.SelectedIndex = 1 Then COL2(i) =
CONCENTRATION(i) If i <= 6 Then SCATION = SCATION + COL2(i) 'Sum cat.
If i > 6 Then SANION = SANION +
COL2(i) 'Sum anions
COL3(i) = COL2(i) * 50
End If
Next
Dim EERROR = (SCATION - SANION) * 100 / SCATION
DataGridView1.Columns.Clear()
ListBox2.Items.Clear()
If ListBox1.SelectedIndex = 0 Then
DataGridView1.Columns.Add("ION", "CATION/ANION")
DataGridView1.Columns.Add("CONCMGL", "CONC.(MG/L)")
DataGridView1.Columns.Add("CONCML", "CONC.(MEQUIV/L)")
DataGridView1.Columns.Add("CONCMGL", "CONC.(MG/L) AS CACO3") Else
DataGridView1.Columns.Add("ION", "CATION/ANION")
DataGridView1.Columns.Add("CONCML", "CONC.(MEQUIV/L)")
DataGridView1.Columns.Add("CONCMGL", "CONC.(MG/L) AS CACO3") End If
For i = 1 To 12
If i = 7 Then
DataGridView1.Rows.Add("TOTAL CATIONS: ", fN(SCATION)) End If
If ListBox1.SelectedIndex = 0 Then
DataGridView1.Rows.Add(SYMBOL(i), fN(CONCENTRATION(i)),
fN(COL2(i)), fN(COL3(i))) Else
DataGridView1.Rows.Add(SYMBOL(i), fN(COL2(i)), fN(COL3(i)))
End If
Next
DataGridView1.Rows.Add("TOTAL ANIONS: ", fN(SANION))
DataGridView1.Rows.Add("TOTAL ERROR: ", fN(EERROR) + "%") Dim
TOTHARD1 = COL2(1) + COL2(2)'Total hardness as Ca2+ Mg2+
Dim TOTHARD2 = COL3(1) + COL3(2)
ListBox2.Items.Add("Total Hardness =" + fN(TOTHARD1) + " mEq/L=" _
+ fN(TOTHARD2) + " mg/L as CaCO3")
Dim TOTHARD3 = COL2(7) + COL2(8)'Carbonate hardness as CO3
+ HCO3
Dim TOTHARD4 = COL3(7) + COL3(8)
ListBox2.Items.Add("Carbonate Hardness =" + fN(TOTHARD3) + "
mEq/L=" _
+ fN(TOTHARD4) + " mg/L as CaCO3")
Dim NONCARB = TOTHARD1 - TOTHARD3
Dim NONCARB2 = TOTHARD2 - TOTHARD4
If NONCARB < 0 Then NONCARB = 0
If NONCARB2 < 0 Then NONCARB2 = 0
ListBox2.Items.Add("Noncarbonate Hardness =" + fN(NONCARB) + "
mEq/L=" _
+ fN(NONCARB2) + " mg/L as CaCO3")
Determine the degree of hardness
Dim chk = TOTHARD2, d$
If chk > 0 And chk <= 75 Then d$ = "Soft"
If chk > 75 And chk <= 150 Then d$ = "Moderately Soft"
If chk > 150 And chk <= 175 Then d$ = "Moderately Hard"
If chk > 175 And chk <= 300 Then d$ = "Hard"
If chk > 300 Then d$ = "Very Hard"
ListBox2.Items.Add("The degree of hardness is " + d$) End Sub
Function fN(ByVal N As Double) As String
'Formats a number into two decimal points
Return FormatNumber(N, 2).ToString
End Function
(2.18)
where:
Cs is the saturation concentration, g/m3
KD is the distribution coefficient
Cg is the gas concentration in gas phase, g/m3, which may be calculated from the following equation:
(2.19)
where Pg is the partial pressure of the respective gas in the gas phase, Pa, which may be calculated from
the following equation:
(2.20)
where xg is the mole fraction of gas, which may be calculated from the following equation:
(2.21)
where:
Ng is the moles of gas
Nw is the moles of water
kH is the Henrys constant
MW is the molecular weight of the gas
R is the universal gas constant = 8314.3 J/kg*K
T is the absolute temperature, K
where:
C is the solubility of oxygen at barometric pressure P and given temperature, mg/L
Cs is the saturation concentration at given temperature, mg/L
P is the barometric pressure, mmHg
pw is the pressure of saturated water vapor at the temperature of the water, mmHg Oxygen is slightly
soluble in water. The actual content of oxygen that can be found in a solution is influenced by
different interacting parameters such as solubility of the gas, partial pressure of the gas in the gas
phase, temperature, and degree of water purity (e.g., level of salinity, concentration of suspended
solids, etc.). Drinking water saturated with oxygen has a pleasant taste, whereas water devoid of DO
has an insipid taste.
Example 2.10
1. Write a computer program to evaluate the saturation concentration of oxygen dissolved
in water for any value of pressure and at any temperature and chloride concentration in
water.
2. Calculate the concentration of DO in a water sample (with zero salinity) having a DO
saturation concentration of 9.2 mg/L at a temperature of 20C for an atmospheric gauge
pressure of 695 mmHg.
3. Use the computer program developed in (a) to verify computations achieved in (b).
Solution
1. For solution to Example 2.10 (1), see the listing of Program 2.10.
2. Solution to Example 2.10 (1):
* Given: T = 20C, C = 9.2 mg/L, P = 695 mmHg, Salinity = 0.
* From Appendix A2 (Viessman et al. 2015; Whipple and Whipple 1911), for T =
20C, find the vapor pressure as pw = 17.535 mmHg.
* Find the oxygen saturation concentration as follows:
Cs = C*(760 pw)/(P pw) = 9.2*(760 17.535)/(695 17.535) = 11.07 mg/L.
'*********************************************************************************
'Program 2.10: DO
'Computes Dissolved oxygen concentration
'*********************************************************************************
Public Class Form1
Dim T(31), Pwi(31) As Double
Dim pTable As String
****************************************************************************
Code in Form_Load sub will be executed when the form is loading, i.e.,
first thing after program loads into the memory
*********************************************************************************
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
pTable = "05, 05, 05, 06, 06, 07, 07, 08, 08, 09, 09, 10, 11, 11,
12, 13,"
pTable += " 14, 15, 16, 17, 18, 19, 20,"
pTable += " 21, 22, 24, 25, 27, 28, 30, 32"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Me.Text = "Program 2.10: Computes dissolved oxygen concentration"
Table of temperature-pressure relationship
For i = 0 To 30
T(i) = i
Pwi(i) = Val(pTable.Substring(i * 4, 2))
Next i
Label1.Text = "Enter temperature in the range 0 to 30 C="
Label2.Text = "Enter gauge pressure in mm Hg="
Label3.Text = "Enter oxygen solubility concentration in mg/L ="
Label4.Text = "Oxygen saturation concentration at the given temp.
(mg/L)="
Label5.Text = "Salinity assumed=0"
Label6.Text = "Decimal places:"
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
NumericUpDown1.Value = 2
End Sub
****************************************************************************
Whenever a different number of decimals is selected, re-show the
results.
****************************************************************************
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles NumericUpDown1.ValueChanged
calculateResults()
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TextBox1.TextChanged calculateResults()
End Sub
Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TextBox2.TextChanged calculateResults()
End Sub
Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TextBox3.TextChanged calculateResults()
End Sub
Sub calculateResults()
Dim T1, P, C As Double
T1 = Val(TextBox1.Text)
P = Val(TextBox2.Text)
C = Val(TextBox3.Text)
Error checking
If T1 < 0 Or T1 > 30 Then
MsgBox("Temp should be between 0 and 30",
vbOKOnly Or vbCritical)
Exit Sub
End If
Calculations
Find Pw corresponding to temperature T
Dim Pw As Double
For i = 0 To 30
If T1 <= T(i) Then
Pw = Pwi(i)
Exit For
End If
Next
Dim Ps = 760 'mmHg
Dim Cx = C * (Ps - Pw) / (P - Pw)
TextBox4.Text = FormatNumber(Cx, NumericUpDown1.Value).ToString End
Sub
End Class
(2.23)
where:
Lt is the amount of first-stage BOD remaining in the sample at time t, mg/L
L0 is the initial remaining BOD, total, or ultimate first-stage BOD present at zero time k is the rate
constant (to base e), per day
k1 is the rate constant (to base 10), per day (=0.4343*k) t is the time, days
Equation 2.24 gives the value of BOD exerted at any time t and temperature T (see Figure 2.6):
(2.24)
The usual standard for reporting BOD is based on the 5-day BOD at a temperature of 20C (BOD520).
Oxidation of the organic matter is from 60% to 70% complete within the 5-day test period. The 20C
temperature represents an average value for slow-moving streams in temperate climates and is easily
duplicated in the laboratory (Metcalf and Eddy 2013). Table 2.3 gives the wastewater strength in terms of
BOD5 or COD.
TABLE 2.3
Sewage Strength in Terms of BOD and COD
Strength BOD5 (mg/L) COD (mg/L)
Weak <200 <400
Medium 200350 400700
Strong 351500 7011000
Very strong >750 >1500
Source: Rowe, D. R. and Abdel-Magid, I. M., Handbook of Wastewater Reclamation and Reuse, CRC Press/Lewis Publishers, Boca
Raton, FL, 1995. With permission.
The COD test is employed to measure the amount of oxygen required to oxidize organic matter by using
a strong chemical oxidizing agent in an acidic medium. The standard reagent used in the determination is a
boiling mixture of concentrated sulfuric acid and potassium dichromate (K2Cr2O7), together with silver
sulfate as a catalyst. Generally, the COD of a wastewater is greater than its 5-day BOD. This is for the
following reasons:
1. More compounds are likely to be oxidized chemically than can be oxidized biologically.
2. The 5-day BOD does not equal the ultimate BOD.
1. The test can be conducted in a short period of time (23 h). This is more convenient than
the 5-day period required for determination of the BOD.
2. The test can be used to aid in design, operation, and control of treatment works (if related
with BOD).
The Thomas method can be used to determine values for k and L0 from a series of BOD measurements.
This method is based on the similarity of two series functions (expansions for 1 ek*t) and k*t*(1 + k
*t/6)3)). Thomas developed the approximate linearized formula presented in the following equation:
(2.25)
where:
t is the time, s
BOD is the BOD exerted in time t, mg/L
k is the reaction rate constant (to base e), day1
L0 is the ultimate BOD, mg/L
Equation 2.25 can be put in the form of a straight line as indicated in the following equation:
(2.26)
where:
y is the (t/BOD)1/3
b is the intercept of the line:
(2.27)
(2.28)
The reaction rate constant and ultimate BOD may therefore be determined as shown in the following
equations:
(2.29)
(2.30)
Example 2.11
1. Write a computer program to determine the BOD of a wastewater at any time t, rate
constant k, and temperature T. Design the program so that t or k or L0 can be
determined, given the other two parameters. The program should show the strength of
the sewage in accordance with Table 2.3.
2. Find the amount of the 5-day BOD compared to the ultimate BOD for a sewage sample,
which has a rate constant (k1) value of 0.103/day.
3. A wastewater sample has a 5-day BOD of 324 mg/L and an ultimate BOD of 405 mg/L.
Find the rate of biological oxidation for the wastewater.
4. The 3-day BOD of a sample is 255 mg/L at a temperature of 20C. Determine its 5-day
BOD, assuming that the rate constant is 0.22/day (to base 10).
Solution
1. For solution to Example 2.11 (1), see the listing for Program 2.11.
2. Solution to Example 2.11 (2):
1. Given: k1 = 0.103/day.
2. Find the ratio of 5-day BOD to ultimate BOD for the sample as follows:
BOD205/L0 = (1 10k1*t) = 1 100.103 * 5 = 0.69
3. This shows that the 5-day BOD is ~69% of the ultimate BOD.
3. Solution to Example 2.11 (3):
1. Given: BOD205 = 324 mg/L, L0 = 405.
2. Determine the reaction rate constant as follows: 324 = 405(1 105k1). This
yields a value for k1 equal to 0.14/day.
4. Solution to Example 2.11 (4):
1. Given: BOD3 = 255 mg/L and k1 = 0.22/day.
2. Determine the ultimate BOD as follows: L0 = BOD/(1 10k1*t) = 255/(1
100.22 * 3) = 326.4 mg/L.
3. Find the 5-day BOD as follows: BOD5 = 3264*(1 100.22 * 5) = 300 mg/L.
'*********************************************************************************
'Program 2.11: BOD-1
'Estimates the BOD for wastewater for a given rate k, temperature T
' and at any time t
'*********************************************************************************
Imports System.Math
Public Class Form1
Variables used in calculations
Dim k1, kd, t, BOD5, BOD, Lo As Double
****************************************************************************
Code in Form_Load sub will be executed when the form is loading, i.e.,
first thing after program loads into the memory
*********************************************************************************
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Me.MaximizeBox = False
Me.Text = "Program 2.11: Estimates the BOD for wastewater"
Dim ttl(3) As String
ttl(0) = "Determine BOD at any time t"
ttl(1) = "Determine the reaction rate constant k1 to base 10"
ttl(2) = "Determine the reaction rate constant k1 to base e"
ttl(3) = "Determine the ultimate BOD (Lo)"
For i = 0 To 3
ListBox1.Items.Add(ttl(i))
Next
Label1.Text = Select an option:
Label2.Visible = False
Label3.Visible = False
Label4.Visible = False
Label5.Visible = False
Label6.Visible = False
Label7.Visible = False
Label8.Visible = False
Label9.Visible = False
TextBox1.Visible = False
TextBox2.Visible = False
TextBox3.Visible = False
TextBox4.Visible = False
TextBox5.Visible = False
NumericUpDown1.Visible = False
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
NumericUpDown1.Value = 2
End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged If
ListBox1.SelectedIndex < 0 Then Exit Sub
Select Case ListBox1.SelectedIndex
Case 0
Determine BOD at any time t
Label2.Text = "Enter rate constant k1 (/day) to base 10:"
Label3.Text = "Enter the time t (days), t:"
Label4.Text = "Enter the 5-day BOD in mg/L:"
Label5.Text = "The value of BOD at" + t.ToString + "
days="
Label6.Text = " of the ultimate BOD"
Label7.Text = "The value of BOD at " + t.ToString + "
days(mg/L)="
Case 1
Determine k1 to base 10
Example 2.12
1. Write a computer program for the estimation of the ultimate BOD and the rate constant
by using the Thomas method for the following data.
2. A BOD test for a wastewater sample, at a temperature of 20C, gave the following
results:
Solution
1. For solution to Example 2.12 (1), see the listing for Program 2.12.
2. Solution to Example 2.12 (2):
1. Use the Thomas method to construct the following table:
'*********************************************************************************
'Program 2.12: BOD-2
'Thomas method for determining BOD
'*********************************************************************************
Public Class Form1
'Variables used in calculations
Dim T(), BOD(), tbod() As Double
Dim a, b As Double
Dim k1, kd, Lo As Double
'*****************************************
'get_max(): Gets the largest number of an
'array, given a reference to
'the array and member count.
'*****************************************
Private Function get_max(ByRef array() As Double, ByVal count As
Integer) As Double Dim i As Integer
Dim max As Double = array(0)
For i = 1 To count - 1
If max < array(i) Then
max = array(i)
End If
Next
Return max
End Function
'***********************************************
'Calc's a straight line from the scattered
'point data. The algorithm used is simple:
'(1) Divide data into two sets
'(2) Find a mid-point in each set
'(3) Find line equation from these two points
'(4) Find the first and last points in this line
'(5) Get the line equation.
'***********************************************
For i = 0 To count - 1
T(i) = Val(DataGridView1.Rows(i).Cells("tCol").Value) BOD(i) =
Val(DataGridView1.Rows(i).Cells("bodCol").Value) tbod(i) = Math.Pow((T(i) /
BOD(i)), (1 / 3)) 'tbod(i) = (T(i) / BOD(i))
DataGridView1.Rows(i).Cells("tbodCol").Value =
tbod(i).ToString Next
use our data to mathematically estimate
a straight line equation.
get_straight_line()
then calculate
Reaction rate constant (to base e)
kd = 6 * a / b
Ultimate first stage BOD
Lo = 1 / (b ^ 3 * kd)
Reaction rate constant (to base 10)
k1 = 0.4343 * kd
End Sub
Sub showResults()
Output results
TextBox1.Text = FormatNumber(a, NumericUpDown1.Value) TextBox2.Text
= FormatNumber(b, NumericUpDown1.Value) TextBox3.Text = FormatNumber(kd,
NumericUpDown1.Value) TextBox4.Text = FormatNumber(k1, NumericUpDown1.Value)
TextBox5.Text = FormatNumber(Lo, NumericUpDown1.Value) End Sub
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles NumericUpDown1.ValueChanged
showResults()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
showResults()
End Sub
End Class
2.6 RADIOACTIVITY
Radioactivity is a property of unstable atoms. It arises from the spontaneous breaking up of certain heavy
atoms into other atoms, which themselves might be radioactive. This phenomenon continues producing a
transformation series. This disintegration results in three kinds of radioactive emissions known as alpha
particles, beta particles, and gamma rays (Figure 2.7).
(2.31)
where:
N0 is the number of atoms at time t0
Nt is the number of atoms found at time t kt is the decay constant
Equation 2.32 gives the relationship between decay time and half-life:
(2.32)
Solution
1. For solution to Example 2.13 (1), see the listing of Program 2.13.
2. Solution to Example 2.13 (2):
1. Determine the decay constant as follows: kt = 0.693/t = 0.693/1600 = 4.33 *
104 year1.
2. Find the mass remaining after time t as follows: N = N0*ek*t for t = 1600, N =
50*e0.000433 * 1600 = 25; for t = 3200, N = 12.5; for t = 4800, N = 6.25; for t =
6400, N = 3.13.
1. Plot a graph of mass remaining versus time, and find from the graph for a
remaining mass of [=50 (10 * 50/100)] 45, the required time = 243 years,
or weight lost = 10 * 50/100 = 5; weight remaining = 50 5 = 45.
2. Or use Ln 45/50 = 4.33 * 104*t to find t = 243 years.
'*********************************************************************************
'Program 2.13: radioactivity
'Computes radioactivity
'*********************************************************************************
Imports System.Math
Public Class Form1
Dim elem(16), sym(16) As String
Dim t_half(16) As Double
Dim th, kt, no, p As Double
Dim tmp1, tmp2, tmp3 As String
'convert days to years
Const F1 As Double = 1 / 365.25
'convert hours to years
Const F2 As Double = F1 / 24
'convert minutes to years
Const F3 As Double = F2 / 60
'**************************************
'load calculation tables
'**************************************
Sub load_tables()
sym(0) = "Br 78"
sym(1) = "C 14"
28. Indicate whether the following sentences are true (T) or false (F):
1. Water project components, structures, and equipment are assumed to serve the project
for its design period. ( )
2. Reasons for water treatment include removal or reduction of SS or floating solids,
colloids, dissolved salts, oil, color, taste, and odor. ( )
3. Choice of type of needed water treatment requires completing surveys on source,
operation, and presence of skilled workers, funding, and costs of construction
maintenance. ( )
4. Water-based diseases are caused by aquatic organisms that spend part of their life
cycle in the water and another part as a parasite affecting humans or animals. ( )
5. Hardness is related to scale deposition (soap curd) and taste, and it hampers soap
lather formation. ( )
6. Although E. coli is considered to be the best indicator of fecal contamination, but the
disclosure of temperature-tolerant coliform bacteria is considered an acceptable
alternative. ( )
7. Standard methods for the examination of water and wastewater provide hundreds of
laboratory tests of water quality and properties. These methods represent the best
current practice of water and wastewater analysis. ( )
8. Langelier Index is an expression of the tendency for deposition (noncorrosiveness) or
dissolution of calcium carbonate scale in a pipe. ( )
29. Complete missing titles and fill in blanks by using the following words and phrases (health,
corrosive, lead, lethal dose, guidelines, poverty, disease causing)
1. An objective of treatment is removal of bacteria, viruses, pathogens, and other
. organisms that hamper health of the individual.
2. .. is a state of complete physical, mental, and social well-being
and not merely the absence of disease or infirmity.
3. Unsafe and bad water quality is the basis of causes of
4. may accumulate in bones (skeletal changes) and is associated
with kidney damage, constipation, loss of appetite, anemia, abdominal pain, paralysis,
poisoning, metabolic interference, and central and peripheral nervous system toxicity.
5. Factors affecting the toxic effects of chemicals include chemical characteristics,
.., average daily intake, ability of chemical to reach and
accumulate in the tissues, and routes of exposure to the chemical
6. .. envisage drinking water free from
pathogenic microbes, or types and quantities of toxins that affect the public health in
the short or long term.
7. A water supply that exhibits .. characteristics may cause health,
aesthetic, and economic problems in distribution pipelines and residential plumbing
systems.
Ca++ 35 Cl 18
Mg++ 40 HCO3 122
Sr+++ 9 SO4 34
Fe+++ 23 NO3 22
SiO3 14
11. Write a computer program that enables the computation of the BOD of organic compounds
(containing hydrogen, carbon, nitrogen, and oxygen) with a known concentration (in mg/L).
Assume reaction products to be carbon dioxide, water, or nitrogen oxide according to
reactants entering chemical reaction. Check the validity of your program by determining the
total BOD of the following compounds:
1. 0.1 molar solution of ether [(CH3CH2)2O]
2. 5 g of glycerol [CH2OHCHOHCH2OH]
3. 20 mg/L uric acid [C5H4O3N4]
REFERENCES
Abdel-Magid, I. M. 1986. Water Treatment and Sanitary Engineering. Khartoum, Sudan: Khartoum University Press (Arabic).
doi:10.13140/RG.2.1.1962.0883.
Abdel-Magid, I. M., and ElHassan, B. M. 1986. Water Supply in the Sudan. Khartoum, Sudan: Khartoum University Press, Sudan National
Council for Research (Arabic). doi:10.13140/RG.2.1.2371.6882.
Abdel-Magid, I. M., and Abdel-Magid, M. I. M. 2015. Problem Solving in Environmental Engineering, 2nd ed. Dammam, Saudi Arabia:
CreateSpace Independent Publishing Platform.
APHA. 2012. Standard Methods for the Examination of Water and Wastewater, 22nd ed. Washington, DC: American Water Works
Association.
Casio Computer Co. 2016. Water Hardness Calculator. http://keisan.casio.com (accessed on February 20, 2016).
Davis, W. M. 2011. Physical Chemistry: A Modern Introduction, 2nd ed. Boca Raton, FL: CRC Press.
Finnermore, E., Franzini, J. 2001. Fluid Mechanics With Engineering Applications, 10th ed. New York: McGraw-Hill Education.
Green, D. W., and Perry, R. H. 2007. Perrys Chemical Engineers Handbook, 8th ed. New York: McGraw-Hill Professional.
Grigg, N. 2012. Water, Wastewater, and Storm water Infrastructure Management, 2nd ed. Boca Raton, FL: CRC Press.
Groundwater Software. 2016. Calculator 8 - Water Hardness Calcul-a-tor. http://www.groundwatersoftware.com (accessed on February
18, 2016).
Howe, K. J., Hand, D. W., Crittenden, J. C., Trussell, R. R., and Tchobanoglous, G. 2012. Principles of Water Treatment, 1st ed. Hoboken,
NJ: Wiley.
Lenntech. 2016. Water Hardness Calculator. http://www.lenntech.com/ro/water-hardness.htm#ixzz2iQsTNzz5 (accessed on February 17,
2016).
Lin, S. D. 2014. Water and Wastewater Calculations Manual, 3rd ed. New York: McGraw-Hill Education.
London and General Water Purifying Company. 2012. Water: Its Impurities and Purification. Nabu Press.
McGhee, T. J., and Steel, E. W. 1991. Water Supply and Sewerage, 6th ed. New York: McGraw-Hill.
Metcalf and Eddy, Inc., Tchobanoglous, G., Stensel, H. D., Tsuchihashi R. and Burton, F. 2013. Wastewater Engineering: Treatment and
Resource Recovery, 5th ed. New York: McGraw-Hill Science/Engineering/Math.
Munson, B. R., Rothmayer, A. P., Okiishi, T. H., and Huebsch, W. W. 2012. Fundamentals of Fluid Mechanics. New York: Wiley.
Nemerow, N. L., Agardy, F. J., and Salvato, J. A. 2009. Environmental Engineering, 6th ed. New York: Wiley.
Peavy, H. S., Rowe, D. R., and Tchobanoglous, G. 1985. Environmental Engineering. New York: McGraw-Hill Book Co.
Ricketts, J., Loftin, M., and Merritt, F. S. 2003. Standard Handbook for Civil Engineers. New York: McGraw-Hill Professional.
Rowe, D. R., and Abdel-Magid, I. M. 1995. Wastewater Reclamation and Reuse. New York: Lewis Publishers.
Spellman, F. R. 2013. Handbook of Water and Wastewater Treatment Plant Operations, 3rd ed. Boca Raton, FL: CRC Press.
Vesilind, P. A., and Peirce, J. J. 1997. Environmental Pollution and Control, 4th ed. London: Butterworth-Heinemann.
Viessman, W., Perez, E. M., Chadik, P. A., and Hammer, M. J. 2015. Water Supply and Pollution Control. Upper Saddle River, NJ: Pearson
Publishing.
Whipple, G. C., and Whipple, M. C. 1911. Solubility of oxygen in sea water. J. Am. Chem. Soc. 33:362.
3 Computer Modeling Applications for Water Resources, Usage, Groundwater,
and Water Storage and Distribution
3.1 INTRODUCTION
This chapter emphasized on conventional and non-conventional water sources (reclaimed and renovated
supplies) and source selection. Water footprints were stressed upon within the chapter. Demographic and
population growth estimates were stressed upon due to their direct effects on consumption design rates
and for design and operation of water supply units and wastewater processes. Likewise, the chapter
looked into water requirements for extinguishing fires and preventing them from flaring into
uncontrollable firestorm. Also, the chapter expanded on groundwater flow, aquifer characteristics, well
yield and groundwater recharge. Groundwater recharge is stressed upon to overcome aquifer water
reduction, augment usage of surface runoff, and conserve and increase yield of wealth. Various types of
water storage reservoirs were dealt with together with computations for storage volume and hydraulic
and structural design of storage tanks. Use of mass curve techniques signified a study of storage effects on
stream flow conditions. Water distribution analysis and design received attention for appropriate design
merits for urban sectors and rural fringes using suitable design techniques and procedures. The chapter
introduced relevant computer programs modeled for solving specific problems in water resources, water
storage and distribution within areas and domains of importance.
3.2.1 INTRODUCTION
The sources for a water supply can be grouped into three major categories: rainwater (precipitation),
surface water (runoff), and groundwater. Surface water includes both rainwater and groundwater where
the water table lies above the ground surface. Surface waters include water in rivers, streams, lakes,
lagoons, ponds, and oceans. Groundwater is contained in the soil or rocks below the water table (Smith
2005).
The movement of water on the earth follows a complex cyclic pattern from the sea to the atmosphere
and then by precipitation to the earth, where it collects in rivers, streams, and lakes, and then runs back to
the sea. The cycle may be short-circuited at several stages; there is no uniformity in the time a cycle takes;
and the intensity and frequency of the cycle depend on geographical and climatic conditions (Gupta 2007)
(see Figure 3.1).
(3.1)
The bottom-up approach aggregates the individual water footprints of the inhabitants of a country to get
the total water footprint of a country. It considers the sum of all goods and services consumed multiplied
with their respective virtual water content, where the virtual water content of a good will vary as a
function of place and conditions of production. Individual water footprints are calculated by multiplying
all consumed goods and services with their respective virtual water content as presented in the following
equation (Chapagain and Hoekstra 2004, Zhang et al. 2013, National Geographic 2016, Water Footprint
Network 2016):
(3.2)
Figure 3.2 gives an outline that can be followed during the process of source selection.
Water use and consumption can be grouped into several broad categories: domestic, industrial,
commercial and public, agricultural, and recreational. Unaccounted for water consumption in general
makes up approximately 10%15% of the total water consumption. The total consumption is the sum of
all the aforementioned uses and losses. Water use and consumption data are generally expressed in liters
per capita per day, (L/c/d).
1. In the arithmetic progression method for population estimates for a short period, a steady
increase of growth is added in it for periods. The number of population can be found as follows:
(3.3)
where:
Pn is the number of population after n years or a decade (10 years)
P is the number of present population
i is the increase in the number of the population annually or every decade
2. The moderate rate of growth for population estimates for arithmetic growth (to be used for
large established cities) is calculated as presented in Equation 3.4
(3.4)
FIGURE 3.4 Moderate rate of growth method.
where:
Pm is the population of the desired area for time tm
Pe is the population of earlier census at time te
Pl is the population of later census for time tl
Estimate of the number of the population censuses by arithmetic growth for postcensal estimates is
given as follows
(3.5)
(3.6)
(3.7)
Example 3.1
1. Write a computer program that enables the computation of population growth in a certain
area.
2. A city recorded a population of 135,000 in its earlier decennial census and 1,95,000 in its
later one. Assuming a census date of April 1, estimate the midyear (July 1) populations for
a. the following: For the fifth intercensal year
b.For the ninth postcensal year by geometric increase
Solution
1. For solution to Example 3.1 (1), see the listing of Program 3.1.
a. Solution to Example 3.1 (2): Given: Pl = 195,000 and Pe = 135,000
2.
b.Intercensal geometric growth estimates after the fifth year
'*******************************************************************************
'Program 3.1: Population
'Computes Population Growth Estimates
'*******************************************************************************
Imports System.Math
Public Class Form1
'*******************************************************************************
'Code in Form_Load sub will be executed when the form is loading,
'i.e., first thing after program loads into the memory
'*******************************************************************************
(3.8)
where:
Q is the fire demand, L/min
P is the population, in thousands
The U.S. Insurance Service Office advocates the use of the formula presented in the following equation to
estimate the fire flow required for a given floor area:
(3.9)
where:
Q is the required fire flow, L/s
Cf is the coefficient related to the type of construction
A is the total floor, area including all stories in the building, but excluding its basement, m2
TABLE 3.1
Values of the Coefficient Cf
Cf
Description
Wood frame construction 1.5
Ordinary construction 1.0
Noncombustible construction 0.8
Fire-resistive construction 0.6
Source: Viessman, W. et al., Water Supply and Pollution Control, Pearson Pub, 2015; McGhee, T. J. and Steel, E. W., Water Supply and
Sewerage, 6th ed., New York: McGraw-Hill, 1991.
TABLE 3.2
Residential Fire Flows
Distance between Adjacent Units (m) Required Fire Flow (L/min)
>30.5 1890
9.530.5 28353780
3.49.2 37805670
3 56707660a
Source: McGhee, T. J. and Steel, E. W., Water Supply and Sewerage, 6th ed., New York: McGraw-Hill, 1991.
Note a For continuous construction, use 9450 L/min.
The maximum flow required for an individual fire is 45.4 m3/min for all purposes. In large
communities, the possibility of concurrent fires should also be considered. In residential districts, the
required fire flow ranges from a minimum of 1.9 m3/min to a maximum of 9.5 m3/min (McGhee and Steel
1991). Hydrant spacing is dictated by the required fire flow because the capacity of a single hydrant is
limited. Table 3.3 presents the proposed distances for fire hydrants. The required duration for a fire flow
is indicated in Table 3.4.
TABLE 3.3
Fire Hydrant Spacing
Distance (m)
Hydrant Location
Ordinary 60150 At street intersections where streams can be taken in any direction
High-value districts As close as 30 Additional hydrants may be necessary in the middle of long blocks
Low-risk areas 100150 In towns
Source: McGhee, T. J. and Steel, E. W., Water Supply and Sewerage, 6th ed., New York: McGraw-Hill, 1991.
TABLE 3.4
Fire Flow Duration
Required Fire Flow (L/min) Duration (h)
<3780 4
37804725 5
47255670 6
56706615 7
66157560 8
75608505 9
>8505 10
Source: McGhee, T. J. and Steel, E. W., Water Supply and Sewerage, 6th ed., New York: McGraw-Hill, 1991.
Example 3.2
1. Write a computer program that enables the computation of fire demand for communities of
different numbers of populations taking in to consideration the type of construction and
restrictions outlined in Section 3.4.
2. Find the fire demand for a town having a population of 0.9 million.
3. Estimate the fire demand for a single-storey building made of a wood frame construction,
given that the total floor area amounts to 10,000 m2.
Solution
1. For solution to Example 3.2 (1), see the listing of Program 3.2.
a. Solution to Example 3.2 (2): Given: P = 900,000 = 900 in thousands.
2.
b.Determine the fire demand as follows: Q = 3860(P)1/2 [(10.01(P1/2)] = 3860 * 9001/2*
(10.01 * 9001/2) = 81 m3/min.
a. Solution to Example 3.2 (3): Given: A = 10000 m2.
3.
b.Determine the fire flow as follows: Q = 3.7 * Cf * (A)0.5.
c.From Table 2.4 for a wood frame construction, the coefficient, Cf = 1.5.
d.Compute the fire demand as follows: Q = 3.7 * 1.5*(10000)0.5 = 555 L/s.
e.Since this is a wood frame single-storey building, the maximum fire demand may not
exceed 380 L/s.
'*******************************************************************************
'Program 3.2: Fire
'Computes Fire demand for communities of different population
'*******************************************************************************
Public Class Form1
Dim ttl(3), Cw(4), limit(4)
Dim opt1
'maximum fire flow for all purposes
Const global_max = 760
'minimum fire flow for all purposes
Const global_min = 32
'*******************************************************************************
'Code in Form_Load sub will be executed when the form is loading,
'i.e., first thing after program loads into the memory
'*******************************************************************************
Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged
showHideGroups()
TextBox1.Text = ""
TextBox2.Text = ""
End Sub
Sub showHideGroups()
If RadioButton1.Checked Then
'View both groupboxes, and put the second one below the first
GroupBox1.Visible = True
GroupBox2.Location = New Point(GroupBox2.Location.X, 171)
Label1.Text = "Enter total floor area in sq.m:"
Label2.Text = "Total fire demand for this building (L/sec):"
Else
'Hide the first groupbox and put the second groupbox in its place
GroupBox1.Visible = False
GroupBox2.Location = New Point(GroupBox2.Location.X,
GroupBox1.Location.Y)
Label1.Text = "Enter population of town:"
Label2.Text = "FIRE DEMAND FOR THIS TOWN (L/min):"
End If
End Sub
Movement of groundwater starts from levels of higher energy to levels of lower energy. Basically, its
energy is due to elevation and pressure. The velocity heads are neglected because flow is essentially
laminar (the velocity of flow in laminar conditions reaches approximately 1 cm/s, and the Reynolds
number achieves values ranging between 1 to 10) (Valsaraj and Melvin 2009).
From the continuity equation, the groundwater flow for a particular aquifer may be determined from the
following equation:
(3.10)
where:
Q is the groundwater flow, m3/s
v is the average velocity of flow in voids of water bearing material, m/s
(3.11)
(3.12)
where:
B is the width of aquifer, m
h is the saturated thickness of aquifer, m
TABLE 3.5
Typical Total Porosities for Selected Materials
Porosity (%)
Material
Unaltered granite and gneiss 02
Quartzite 01
Shales, slates, mica-schists 010
Chalk 540
Sandstones 540
Volcanic tuff 3040
Gravels 2540
Sands 1548
Silt 3550
Clays 4070
Fractured basalt 550
Karst limestone 550
Limestone, dolomite 020
Source: Nielsen, D. M. ed., Practical Handbook of Groundwater Monitoring, Lewis Publishers, Chelsea, 1991. With permission.
TABLE 3.6
Typical Hydraulic Conductivities for Selected Materials
Range of K (m/s)
Geologic Material
Coarse gravel 101 102
Sands and gravels 102 105
Fine sands, silts, loess 105 109
Clay, shale, glacial till 105 1013
Dolomite limestone 103 105
Weathered chalk 103 105
Unweathered chalk 106 109
Limestone 103 109
Sandstone 104 1010
Unweathered granite, gneiss, compact basalt 107 1013
Source: Nielsen, D. M. ed., Practical Handbook of Groundwater Monitoring, Lewis Publishers, Chelsea, 1991. With permission.
As such, the groundwater flow may be determined as follows:
(3.13)
The transmissibility, or hydraulic conductivity, TR, of a certain aquifer may be defined as the capacity of
a unit prism of aquifer to yield water. The transmissibility may also be defined as the rate at which water
of prevailing kinematic viscosity is transmitted through a unit width of an aquifer under a unit hydraulic
gradient. Equation 3.14 may be used for determination of transmissibility of an aquifer:
(3.14)
where:
TR is the transmissibility of aquifer, m3/d*m
k is the permeability coefficient, m/d
h is the saturated thickness of aquifer, m
Using the concept of transmissibility, the groundwater flow may be determined as presented in Equation
3.15:
(3.15)
where:
Q is the groundwater flow, m3/s
TR is the transmissibility of aquifer, m3/day*m
j is the hydraulic gradient, dimensionless
B is the width of aquifer, m
Example 3.3
1. Write a computer program to determine the actual velocity of flow in an aquifer, quantity of
groundwater flow, and transmissibility, given porosity, permeability, hydraulic gradient,
saturated thickness, and width of aquifer.
2. An aquifer has a porosity of 20% and an average grain size of 1.5 mm. Experimental studies
reveal that a tracer needs 540 min to move between two observation wells, 20 m apart. Find
the permeability of the aquifer to yield a difference in water surface elevation of 80 cm and
a water temperature of 15C.
Solution
1. For solution to Example 3.3 (1), see the listing of Program 3.3.
a. Solution to Example 3.3 (2): Given: e = 0.2, d = 1.5 * 103 m, l = 20 m, t = 540 min = 9 h,
2.
and h = 0.8 m.
b.For a temperature of T = 15C, find from Appendix A1 the coefficient of viscosity as
follows: = 1.1447 * 103 N*s/m2 and density r = 999.099kg/m3.
c.Find the velocity of the traveling tracer by using velocity = distance/time; thus, va = l/t =
20/9 = 2.22 m/h.
d.Determine the seepage velocity: v = k * j = k * h/l = k * 0.8/20 =0.04*k.
e.Find the actual velocity as follows: v = va* e = 2.22*(20/100) = 0.444 m/h = 1.235 * 104
m/s.
f.Compute the coefficient of permeability as follows: k = 0.444/0.04 = 11.1 m/h = 3.08 *
103 m/s.
g.Determine the value of the Reynolds number as follows: Re = r*v*d/ = 999.1 * 1.235 *
104 * 1.5 * 103/1.1447 * 103 = 0.162 (since this value is less than 1, computations are
justifiable).
**********************************************************************************
'Program 3.3: Aquifers
'Computes Actual velocity of flow in aquifers
'*******************************************************************************
Public Class Form1
Dim const$(4), ttl$(4), Cw(4)
'*******************************************************************************
'Code in Form_Load sub will be executed when the form is loading,
'i.e., first thing after program loads into the memory
'*******************************************************************************
TextBox4.Visible = True
TextBox5.Visible = True
TextBox6.Visible = True
Case 1
'Determine flow rate
Label2.Text = "Enter transmissibilty (m2/day):"
Label3.Text = "Enter hydraulic gradient:"
Label4.Text = "Enter width of aquifer (m):"
Label5.Text = "The flow rate (m3/day):"
Label5.Visible = True
Label6.Visible = False
Label7.Visible = False
TextBox4.Visible = True
TextBox5.Visible = False
TextBox6.Visible = False
Case 2
'Determine transmissibility
Label2.Text = "Enter the permeability (m/day):"
Label3.Text = "Enter saturated thickness of aquifer (m):"
Label4.Text = "The transmissibilty (m2/day):"
Label5.Visible = False
Label6.Visible = False
Label7.Visible = False
TextBox4.Visible = False
TextBox5.Visible = False
TextBox6.Visible = False
End Select
resetTextBoxes()
End Sub
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
End Sub
Sub calculateResults()
Dim por, per, TR, h, Q, velocity, j, B, k
Select Case ListBox1.SelectedIndex
Case 0
por = Val(TextBox1.Text)
per = Val(TextBox2.Text)
j = Val(TextBox3.Text)
h = Val(TextBox4.Text)
B = Val(TextBox5.Text)
per = per / (24 * 3600) 'permeability in m/s
TR = per * h'Transmissibility
'Actual equations are:
'Q = TR * j * B
'and v = Q / (B * h)
Q = TR * j'Groundwater flow
velocity = Q / h'velocity of flow
TextBox6.Text = velocity.ToString
Case 1
'Determine flow rate
TR = Val(TextBox1.Text)
j = Val(TextBox2.Text)
B = Val(TextBox3.Text)
Q = TR * j * B
TextBox4.Text = Q.ToString
Case 2
'Determine transmissibility
k = Val(TextBox1.Text)
h = Val(TextBox2.Text)
TR = k * h'transmissibility
TextBox3.Text = TR.ToString
End Select
End Sub
End Class
Field experiments were proposed to find the permeability coefficient of an aquifer by drilling observation
wells in the cone of depression of a well and noting the corresponding drawdown in observation wells
(McGhee and Steel 1991). By applying the continuity equation and Darcys law, the steady-state
discharge from a well with radial flow in a steady confined aquifer may be predicted by the following
equation (see Figures 3.5 and 3.6):
(3.16)
where:
k is the coefficient of permeability, m/s
Q is the steady-state discharge from the well (pumping rate from supply well), m3/s x1, x2 are the
drawdowns at observation wells, m
r1, r2 are the distances of observation wells from the pumped well (radial direction), m h is the depth
of aquifer (average thickness of bed at r1 and r2 for water table conditions), m Equation 3.16 is the Thiem
formula or equilibrium equation. The equation may be used to estimate the permeability of the aquifer for
measurements around a pumping well.
The specific capacity of a well is defined as the output of the well as divided by the drawdown. This
definition is presented mathematically in the following equation:
(3.17)
where:
Sc is the specific capacity of well, m3/day*m
Q is the discharge (output) from well, m3/s
x is the drawdown, m
Example 3.4
1. Write a computer program to find the draw-down, coefficient of permeability,
transmissibility, or specific capacity for a steady confined aquifer with known
characteristics and pattern of flow between two observation wells.
2. Pumping in an artisan well is conducted at the rate of 0.04 m3/s. At observation wells 100 m
and 200 m away, the drawdowns noted are 0.5 and 0.3 m, respectively. The average
thickness of the aquifer at the observation wells is 8 m. Compute the coefficient of
permeability of the aquifer.
3. A 30-cm well penetrates 25 m below the static water table. After a long period of pumping
at a rate of 2500 L/min, the draw down in wells 20 and 60 m from the pumped well was 1.9
and 0.6 m, respectively. Determine the transmissibility of the aquifer.
4. A well after prolonged pumping produces 800 m3/h. For a drawdown from the static level of
75 cm, estimate the specific capacity.
Solution
1. For solution to Example 3.4 (1), see the listing of Program 3.4.
b. Solution to Example 3.4 (2): Q = 0.04 m3/s (see Figure 3.6) Given: Q = 0.04 m3/s, r1 = 100
a.
2.
m, r2 = 200 m, x1 = 0.5 m, x2 = 0.3 m, and h = 8 m.
c.Compute the permeability coefficient as follows: k = (0.04)Ln(200/100)/[2*8(0.5
0.3)] = 2.8 * 103 m/s.
a. Solution to Example 3.4 (3): Given: h = 25 m, Q = 2500 L/min, r1 = 20, r2 = 60 m, x1 = 1.9
3.
m, and x2 = 0.6 m.
b.Use Thiem equation to determine the permeability coefficient as follows: k =
Q*ln(r2/r1)/[(h1)2(ho)2].
c.Determine h1 = h x2 = 25 0.6 = 24.4 m and ho = h x1 = 25 1.9 = 23.1 m.
d.Find the permeability as follows: k = [(2500/1000 * 60) * Ln (60/20)]/[(24.4)2 (23.1)2]
= 7.41 * 104 m/s = 64 m/day.
e.Compute the value of the transmissibility of the aquifer as follows: TR = k * h = 64 * 25 =
1.6 * 106 Lpd/m.
4 Solution to Example 3.4 (4):
a.Given: Q = 800 m3/h and x = 0.75 m.
b.Determine the specific capacity of the well as follows: Sc =Q/x = 800/75 = 10.7 m3/h/cm.
'*********************************************************************************
'Program 3.4: Aquifers-2
'Computes Properties of aquifers
'*********************************************************************************
Imports System.Math
Public Class Form1
Const pi = 3.142857
'*******************************************************************************
'Code in Form_Load sub will be executed when the form is loading,
'i.e., first thing after program loads into the memory
'*******************************************************************************
Sub calculateResults()
Dim X, K, r1, r2, x1, x2, h, Q As Double
Select Case ListBox1.SelectedIndex
Case 0
r1 = Val(TextBox1.Text)
r2 = Val(TextBox2.Text)
x1 = Val(TextBox3.Text)
x2 = Val(TextBox4.Text)
h = Val(TextBox5.Text)
Q = Val(TextBox6.Text)
X = r2 / r1
If r1 > r2 Then X = r1 / r2
K = ABS(Q * LOG(X) / (2 * pi * h * (x1 - x2)))
TextBox7.Text = K.ToString
Case 1
r1 = Val(TextBox1.Text)
r2 = Val(TextBox2.Text)
x1 = Val(TextBox3.Text)
x2 = Val(TextBox4.Text)
h = Val(TextBox5.Text)
Q = Val(TextBox6.Text) / 1000 * 60
X = r2 / r1
'If r1 > r2 Then X = r1 / r2
Dim h1 = h - x2
Dim ho = h - x1
K = Q * Log(X) / (Pow(h1, 2) - Pow(ho, 2))
Dim K1 = K * 3600 * 24 'in m/day
TextBox7.Text = K.ToString
TextBox8.Text = K1.ToString
Dim TR = K1 * h
TextBox9.Text = TR.ToString
Case 2
Q = Val(TextBox1.Text)
X = Val(TextBox2.Text)
Dim Sc = Q / X
TextBox3.Text = Sc.ToString
End Select
End Sub
(3.18)
where:
Qo is the steady-state discharge from the well, m3/s
k is the coefficient of permeability, m/s
h1 is the depth to original water table when r = R, m
ho is the depth to original water table when r = ro, m R is the radius of influence, m
ro is the radius of well, m
Example 3.5
1. Write a computer program to find the radius of zero drawdown, coefficient of permeability,
and drawdown in a pumped well for a steady unconfined aquifer with known characteristics
and pattern of flow between two observation wells.
2. A well of diameter 0.3 m contains water to a depth of 50 m before pumping commences.
After completion of pumping, the drawdown in a well 20 m away is found to be 5 m,
whereas the drawdown in another well 40 m further away reaches 3 m. For a pumping rate
a. of 2500 L/min, determine The radius of zero drawdown.
b.The coefficient of permeability.
c.The drawdown in the pumped well.
Solution
1. For solution to Example 3.5 (1), see the listing of Program 3.5.
a. Solution to Example 3.5 (2): Given: h = 50 m, r1 = 20m, x1 = 5 m, r2 = 40 m, x2 = 3 m, and
2.
Q = 2500 L/min.
i. Find h1 = h x1 = 50 5 = 45 m and h2 = h x2 = 50 3 = 47 m.
ii. Use Equation 2.43 for both observation wells:
iii.
By substituting given values into the previous equation, then
This yields h = 27 m.
c.Determine the drawdown at the well as follows: x = h h1 = 50 27 = 23 m.
'*********************************************************************************
'Program 3.5: Aquifers-3
'Computes drawdown from a steady unconfined aquifer
'with known characteristics
'*********************************************************************************
Imports System.Math
Public Class Form1
Const pi = 22.0! / 7.0!
'*******************************************************************************
'Code in Form_Load sub will be executed when the form is loading,
'i.e., first thing after program loads into the memory
'*******************************************************************************
Sub calculateResults()
Dim r1, r2, x1, x2, h, Q, diam
Dim h1, h2, c, R, K
r1 = Val(TextBox1.Text)
r2 = Val(TextBox2.Text)
x1 = Val(TextBox3.Text)
x2 = Val(TextBox4.Text)
h = Val(TextBox5.Text)
Q = Val(TextBox6.Text)
diam = Val(TextBox7.Text)
h1 = h - x1
h2 = h - x2
c = (h ^ 2 - h1 ^ 2) / (h ^ 2 - h2 ^ 2)
R = EXP(1 / (c - 1) * (c * LOG(r2) - LOG(r1)))
TextBox8.Text = R.ToString
Dim Qday = Q * 60 * 24 / 1000
K = Qday * Log(R / r1) / (pi * (h ^ 2 - h1 ^ 2))
TextBox9.Text = K.ToString
Dim radius = diam / 2
Dim ho = (h ^ 2 - Qday * Log(R / radius) / (pi * K)) ^ 0.5
Dim x = h - ho
TextBox10.Text = x.ToString
End Sub
End Class
Groundwater recharge is useful for a number of reasons such as overdraft reduction, surface runoff
conservation, and increasing yield of groundwater sources. Groundwater recharge can be placed in two
main categories: incidental recharge (e.g., surplus irrigation water) or intentional (deliberate) recharge
(e.g., municipal waste, surface water). Artificial or intentional recharge may be defined as augmenting the
natural replenishment of groundwater storage by some man-made processes such as surface spreading of
water or water well injection (Rowe and Abdel-Magid 1995, Todd and Mays 2004). Groundwater
recharge by reclaimed water has been practiced to augment the groundwater volume and increase its
development. The factors that influence this practice include the location of natural recharge areas,
geological formations, soil structure, hydrological conditions, the quantity of water withdrawn, and the
degree of wastewater treatment (Rowe and Abdel-Magid 1995).
Benefits of water storage reservoirs include flood control, hydroelectric power, irrigation, water supply,
navigation, sailing, preservation of aquatic life, fire protection, emergency needs, recreation, and
pollution abatement (Henry and Heinke 1996, Smith and Scott 2002, Davis and Cornwell 2006, Viessman
1.et al. 2015). Reservoirs can be grouped as follows: Storage (conservation, impounding, direct-supply)
reservoirs: These reservoirs store water in excess of demand, from a natural source in periods of high
flow, to be used during periods of dry weather or low flows. Water is stored for periods ranging from a
few days to several months or even longer (Smith and Scott 2002).
2. Distribution reservoirs: These reservoirs can be either elevated (see Figure 3.8) or ground
(reserve water supply under pressure). They store water to provide for varying demands of the
community over a period of a day or several days. Water stored in distribution reservoirs is
often supplied at a steady rate from a storage reservoir. The distribution reservoirs (elevated
storage tanks and towers) provide equalizing storage, provide emergency storage (firefighting,
power blackouts, pump station failure), and reduce necessary size and capacity of pipes and
treatment facilities (Nathanson 2007). Generally, the volume of water needed to balance or
equalize peak hourly flows is approximately 20% of average daily demand in the service area
(Nathanson 2007). When the height of the reservoir exceeds its diameter, it is referred to as
stand pipe. Stand pipes are basically tall cylindrical tanks, the upper portion of which
constitutes useful storage to produce the necessary lead; the lower portion serves to support the
structure (Henry and Heinke 1996). A water tower (elevated tank) is a service reservoir or tank
(>15 m in height) raised above ground level (Henry and Heinke 1996, Smith and Scott 2002).
3. Plant storage reservoirs (clear wells): Clear wells are important for the storage of filtered
water and to provide operational storage to average out high and low demands. Clear wells
with sufficient capacity can prevent the need for varying filtration rates and can prevent frequent
on/off cycling of water pumps. The clean well also provides storage for filtered water before it
is introduced into the distribution system.
FIGURE 3.8 An elevated water storage tank.
The storage volume depends on the water demand as well as the purpose of storage. The amount of
storage that needs to be provided can be determined by using the following equation (Viessman et al.
2015):
(3.19)
where:
S is the change in storage volume during a specified time interval
Q1 is the total inflow volume during a specified time interval
Q0 is the total outflow volume during a specified time interval
The storage volume required above the minimum operating conditions can be determined by Analytical
techniques, which are numerical analyses of historical flow records, especially during periods of low
flow.
The graphical method (Rippl mass curve) which evaluates the cumulative deficiency between
outflow and inflow and selects the maximum value as the required storage (Viessman et al. 2015).
(3.20)
where:
v is the volume of runoff, m3
Q is the discharge as a function of time t, m3/s
t is the time, s
The capacity of a reservoir needed to maintain a uniform flow in a stream may be estimated by drawing,
on the mass curve, a draft line tangent to a point at the beginning of the critical period. The slope of the
draft line signifies the uniform regulated discharge. The storage capacity, to meet the uniform demand, is
represented by the maximum ordinate between the draft line and the curve. Other ordinates, between the
draft line and the mass curve, represent the amount of draft on the reservoir corresponding to other times.
Where the draft line intercepts the curve once more, the reservoir is again full, and supply to the reservoir
exceeds demand, resulting in overflow (spillage) conditions. The maximum storage required to meet
demand also should consider the local rate of evaporation.
The mass diagram provides the following information regarding the condition of the reservoir (see
1.Figure 3.9) (Gupta 2007): From a to b, inflow rate exceeds use rate, and reservoir is full and
overflowing.
2. At b, inflow rate is equal to use rate, and reservoir is full but not overflowing.
3. From b to c, use rate or demand exceeds inflow rate, and the amount of depletion (drawdown) is
increasing.
4. At c, use rate is equal to inflow rate, and drawdown is at a maximum.
5. From c to d, inflow rate exceeds use rate, and drawdown is decreasing.
6. At d, the reservoir is full.
7. From d to e, conditions are the same as from a to b.
8. The greatest vertical distance(s) between bd and bcd occurs at c. This is the storage required to
maintain a use rate during the low flow period from b to c. The largest value, such as s for the
entire period of record, is the minimum size of reservoir that would provide this uniform user
rate or demand.
Example 3.6
1. Write a computer program that enables determination of the storage requirement to meet a
uniform user water draw off (with no losses from the reservoir). The reservoir is to supply a
constant flow rate of Q (in m3/s) and uses the water flowing from a particular catchment
area. The monthly stream flow records are given in total cubic meters.
2. A reservoir is to supply a constant flow rate of 3.1 m3/s using the amounts of water flowing
from a particular catchment area. The monthly stream flow records, in one total cubic meter,
are as follows:
Assuming uniform water draw off and no losses, determine the storage requirement to meet the
aforementioned uniform draw off.
3. Use the program developed in (1) to verify the computations in (2).
Solution
1. For solution to Example 3.6 (1), see the listing of Program 3.6.
a. Solution to Example 3.6 (2): Given: stream flow records.
2.
b.Determine the cumulative total flow as tabulated in the following table.
c.Draw the mass curve for the data given by drawing the cumulative total flow versus months
(see Figure 3.10).
Monthly Flow
Month Total Flow
1 12.8 12.8
2 6 18.8
3 1.2 20
4 4.5 24.5
5 9 33.5
6 18.5 52
7 46.9 98.9
8 25.1 124
9 15 139
10 10.5 149.5
11 7.5 157
12 7 164
'*********************************************************************************
'Example 3.6: Reservoir capacity
'*********************************************************************************
Public Class Form1
Dim g As Graphics
Dim mult_factor As Integer
Dim vAcc() As Double
Dim month_str() As String = {"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}
Dim ys(12), yd(12), ysd(12), x(12), diff(12) As Double
Dim supply, max As Double
Dim Y1, P, Maxd, Qt, q As Double
Dim mon As Integer
DataGridView1.Rows(1).Cells("monthCol").Value = "February"
DataGridView1.Rows(2).Cells("monthCol").Value = "March"
DataGridView1.Rows(3).Cells("monthCol").Value = "April"
DataGridView1.Rows(4).Cells("monthCol").Value = "May"
DataGridView1.Rows(5).Cells("monthCol").Value = "June"
DataGridView1.Rows(6).Cells("monthCol").Value = "July"
DataGridView1.Rows(7).Cells("monthCol").Value = "August"
DataGridView1.Rows(8).Cells("monthCol").Value = "September"
DataGridView1.Rows(9).Cells("monthCol").Value = "October"
DataGridView1.Rows(10).Cells("monthCol").Value = "November"
DataGridView1.Rows(11).Cells("monthCol").Value = "December"
End Sub
For i = mon + 2 To 12
If Math.Sign(diff(i)) <> Math.Sign(diff(i - 1)) Then GoTo jump2
Next i
jump2:
P = i - 1
Q = i
Maxd = 0
For i = mon To P
If Math.Abs(diff(i)) > Maxd Then Maxd = Math.Abs(diff(i))
Next i
drawResults()
End Sub
Sub drawResults()
Dim Maxy, Miny, Y, X As Double
Dim bmp As Bitmap = New Bitmap(PictureBox1.Width, PictureBox1.Height)
g = Graphics.FromImage(bmp)
g.Clear(Color.White)
Maxy = ys(12)
If yd(12) > Maxy Then Maxy = yd(12)
Miny = -Maxy / 15
'sX and sY are variables used to scale the points to fit in the
PictureBox
'each point with be multiplied by these factors to scale it to fit.
Dim sX, sY, pY As Double
sX = PictureBox1.Width / 12
sY = PictureBox1.Height / Maxy
'drawing starts at zero point (0,0) which is the upper-left corner of
PictureBox 'all values on the y-scale will be substracted from this to make
the figure upside down 'i.e., start at the lower-left corner instead.
pY = PictureBox1.Height
'black rectangle as a border to the figure
g.DrawRectangle(Pens.Black, 0, 0, CInt(12 * sX) - 1, CInt(Maxy * sY) -
1)
Dim lastPoint As Point
lastPoint = New Point(0, 0)
For X = 0 To 12
Y = ys(X)
g.DrawLine(Pens.Red, lastPoint, New Point((X * sX), pY - (Y * sY)))
lastPoint = New Point(X * sX, pY - Y * sY)
Next X
lastPoint = New Point(0, 0)
For x = 0 To 12
Y = yd(x)
g.DrawLine(Pens.Black, lastPoint, New Point((X * sX), pY - (Y * sY)))
lastPoint = New Point(X * sX, pY - Y * sY)
Next x
lastPoint = New Point(0, 0)
For x = 0 To 12
Y = ysd(x)
g.DrawLine(Pens.Blue, lastPoint, New Point((X * sX), pY - (Y * sY)))
lastPoint = New Point(X * sX, pY - Y * sY)
Next x
Label3.Text += vbCrLf + "Capacity = " + FormatNumber(Maxd, 2) + " m3"
PictureBox1.Image = Image.FromHbitmap(bmp.GetHbitmap)
g.Dispose()
bmp.Dispose()
End Sub
End Class
3.7.1 INTRODUCTION
Systems used for distribution of water for public water supplies are networks of pipes within networks of
streets. The distribution system is designed to serve each individual property, household, commercial
establishment, public building, or industrial factory, and so on. Flow type and character depend on
interrelated factors that include street plan, topography of land, location of supply works, and service
storage. The analysis of a water distribution system includes quantifying flows and head losses in the
network of pipes and finding the resulting residual pressures.
TABLE 3.7
Turbulent and Laminar Flows
Criterion Value of Reynolds Number
Laminar <2100
Transitional 2100 > Re > 4000
Turbulent >4000
(3.21)
where:
Re is the Reynolds number, dimensionless
is the density of fluid, kg/m3
v is the average velocity in the pipe, m/s
D is the pipe diameter, m
is the dynamic viscosity of fluid, N*s/m2 or kg/m*s
Figure 3.11 Pipe flow velocity profile and shear stress distribution.
(3.22)
where:
P is the pressure difference, Pa
l is the length of circular cylindrical element, m
w is the maximum shear at pipe wall (wall shear stress), N/m2
D is the pipe diameter, m
Equation 4.4 indicates that a small shear stress can produce a large pressure difference if the pipe is
relatively long (l/D >> 1).
(3.23)
where:
v is the average velocity, m/s
P is the pressure difference, Pa
D is the diameter of pipe, m
l is the length, m
is the dynamic viscosity, N*s/m2
(3.24)
(3.25)
where:
f is the friction factor (Darcy friction factor = 64/(v*D*) = 64/Re for laminar flow) g is the
gravitational acceleration, m/s2
(3.26)
where hl is the head loss (drop in hydraulic grade line), m*N/N
Example 3.7
Write a computer program to determine the viscosity of a fluid that flows in a pipe of
diameter d (m) and of length l (m) at a rate of flow of Q (m3/s), with the head loss in the pipe
given as hf (m). Let the program indicate whether the flow is laminar or turbulent by
checking its Reynolds number.
Given the values of d = 5 mm, l = 20 cm, Q = 0.95 L/min, and hf = 0.8 m, determine v, V,
and Re.
Use the program developed in (1) to check the computations in (2).
Solution
For solution to Example 3.7 (1), see the listing of Program 3.7.
Solution to Example 3.7 (2): Given: d = 5 mm, l = 20 cm, Q = 0.95 L/min, and hf = 0.8 m.
Find Q = 0.95 * 103 m3 / 15 * 60 s = 1.06 * 106 m3/s.
Determine the kinematic viscosity as: v = (*D4*g*h1)/(128*l*Q) = (*(5 * 103)4 * 9.81
* 0.8)/(128 * 20 * 102 * 1.06 * 106) = 5.7 * 104 m2/s.
Compute the velocity of flow as follows: v = Q/A = 1.06 * 106/(*(5 * 103)2/4) = 0.054
m/s.
Determine the Reynolds number as: Re = V*d/v = 0.054 * 5 * 103/5.7 * 104 = 0.5.
Since the Reynolds number is less than 2100, the flow is laminar.
'*******************************************************************************
'Program 3.7: Viscous flow in pipes
'*******************************************************************************
Public Class Form1
Const Pi = 3.1415962#
Const g = 9.81
Dim d, L, Q, hf As Double
Dim Nu, A, V, Re As Double
Sub calculateResults()
d = Val(TextBox1.Text)
L = Val(textbox2.text)
Q = Val(textbox3.text)
hf = Val(textbox4.text)
d = d / 1000 'convert to metre
'convert to m3/s
Q = (Q / 1000) / (15 * 60)
Nu = (Pi * (d ^ 4) * g * hf) / (128 * L * Q)
A = Pi * (d ^ 2) / 4
V = Q / A
Re = V * d / nu
Label5.Text = "Kinematic viscosity (m2/s) = " + FormatNumber(Nu, 5)
Label6.Text = "Reynolds number = " + FormatNumber(Re, 2)
If Re < 2100 Then
label6.text += " LAMINAR"
Else : label6.text += " TURBULENT"
End If
End Sub
(3.27)
where:
is the Eddy viscosity, N . s/m2
ua is the average velocity, m/s
The velocity profile may be obtained by the empirical power law velocity profile as presented in the
following equation:
(3.28)
where:
b is the constant (function of Reynolds number)
vc is the centerline velocity, m/s
The one-seventh power law velocity profile (b = 7) is often used as a reasonable approximation for many
practical flows (White 2010; Munson et al. 2012).
Using the technique of dimensional analysis of pipe flow, the experimental data and semiempirical
formulas used in analysis of turbulent flow can be grouped in a dimensionless form. For steady,
incompressible turbulent flow in a horizontal round pipe, the pressure drop and head loss can be
determined by using the following equations :
(3.29)
where:
f is the friction factor = (Re, /D) = 64/Re for laminar flow (independent of /D) = (/D) for
completely (wholly) turbulent flow is the roughness of the pipe wall, m
D is the pipe diameter, m
l is the length of pipe, m
v is the average velocity, m/s
(3.30)
(3.31)
Example 3.8
1. Write a computer program that enables the computation of head loss due to friction and the
power needed to maintain flow Q (m3/s) through a circular horizontal pipe of diameter d (m)
and length l (m). Use different pipe materials (different roughness coefficients) and different
temperatures (different viscosities) in the program.
2. Water flows at the rate of 0.08 L/s through a horizontal, circular 500 m long pipe of diameter
6 cm at a temperature of 20C. Assuming an absolute roughness of 0.08 mm for the pipe,
determine the head loss due to friction using both Poiseuille and Darcy equations. Estimate
the power required to maintain the flow in the pipe.
3. Verify your computations in (2) by using the program developed in (1).
Solution
1. For solution to Example 3.8 (1), see the listing of Program 3.8.
a. Solution to Example 3.8 (2): Find the viscosity corresponding to the given temperature from
2.
Appendix A1 as follows: = 1.0087 * 103 N*s/m2, = 998.203 kg/m3, and = 9792 N/m3.
b. Determine the Reynolds number as follows: Re = *V*D/ = *Q*D/*A = 998.203 * 0.08
* 103 * 6 * 102/1.0087 * 103*[*(6 * 102)2/4] = 1680. Therefore, the flow is laminar
since Re < 2000.
c. For laminar flow, find the loss of head due to friction by using Poiseuilles equation as
follows:
d. Determine the head loss using Darcys equation (f = 64/Re) as follows: hf = f*l*v2/2*D*g =
512*l*Q2/D5*g*Re*2 = 512 * 500*(0.08 * 103)2/(6 * 102)5 * 9.81 * 1680*2 = 0.013 m.
'*********************************************************************************
'Program 3.8: Head loss due to friction in pipes
'*********************************************************************************
Imports System.Math
Public Class Form1
Const g = 9.81
Dim D, L, Q, Mu, Rho, roughness As Double
Dim T As Integer
Dim gamma, A, V, Re As Double
Dim f, hf, hf1, hf2, EPSILON As Double
Dim temp_table() As Integer =
{5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
31, 32, 33, 34, 35, 36, 37, 38
}
Sub calculateResults()
D = Val(textbox1.text)
L = Val(textbox2.text)
Q = Val(TextBox3.Text) / 1000
T = Val(TextBox4.Text)
roughness = Val(TextBox5.Text)
(3.32)
where k1 is the loss coefficient (depends on the geometry of the component and fluid properties) =
(geometry, Re).
(3.33)
(3.34)
where:
hli is the contribution of head loss from ith section, m
N is the number of pipes
(3.35)
Example 3.9
1. Write a computer program that enables the determination of flow from a large tank to which
two pipes are connected in series using the equivalent-velocity-head method. The two pipes
have the following characteristics: their diameters are D1 mm and D2 mm, their lengths are l1
m and l2 m, and their friction factors are f1 and f2, respectively. The head loss is equal to hl.
2. Two pipes of diameters 200 and 150 mm and lengths 250 and 150 m are connected in series
from a large tank. For a head loss of 8 m and given friction factors of 0.018 and 0.21,
respectively, determine the rate of flow from the tank to the second pipe using the
equivalent-velocity-head method.
Solution
1. For solution to Example 3.9 (1), see the listing of Program 3.9.
a. Solution to Example 3.9 (2): Given: d1 = 200 * 103 m, l1 = 250 m, f1 = 0.018 m, d2 = 150 *
2.
103 m, l2 = 150 m, hf = 8 m, f2 = 0.021 m.
b.Use continuity equation as follows: v22 = v12*(D1/D2)4 = v12*(200/150)4 = 3.16* v12.
c.Use energy equation for the two pipes as follows: hf = (f1*l1*v12/2g*D1) +
(f2*l2*v22/2g*D2) = (0.018 * 250*v12/2 * 9.81 * 200 * 103) + (0.21 * 150* v22/2 * 9.81 *
150 * 103) = 1.15* v12 + 1.07* v22 = (1.15 + 1.07 * 3.16) v12 = 4.53* v12. Thus, v1 = 1.32
m/s.
d.Determine the flow rate as follows: Q = v*A = 1.32**(200 * 103)2/4) = 0.041 m3/s.
'*********************************************************************************
'Program 3.9: Equivalent-Velocity-Head Method
'*********************************************************************************
Public Class Form1
Const Pi = 3.1415962#
Const g = 9.81
Dim N As Integer
Dim d(), l(), f() As Double
Dim sum, R, V1, Q, H, V As Double
Else
'add some rows
For i = N + 1 To Val(TextBox1.Text)
DataGridView1.Rows.Add()
Next
End If
N = Val(TextBox1.Text)
ReDim d(N)
ReDim l(N)
ReDim f(N)
End Sub
(3.36)
where:
le is the equivalent length for pipe to be replaced, m
l is the length of pipe to be replaced, m
f is the friction factor of selected pipe, m
v is the velocity of flow through selected pipe, m/s
g is the gravitational acceleration, m/s2
D is the diameter of pipe to be replaced, m
fe is the friction factor of selected pipe, m
ve is the velocity of flow through equivalent pipe, m/s
De is the diameter of selected pipe
The equivalent-length method is of value when there are minor losses, such as bends, which are
expressed in terms of equivalent lengths of pipe.
Example 3.10
1. Write a computer program to solve Example 3.9 using the equivalent-length method.
2. Solve Example 3.9 using the equivalent-length method.
Solution
1. For solution to Example 3.10 (1), see the listing of Program 3.10.
a. Solution to Example 3.10 (2): Given: d1 = 200 * 103 m, l1 = 250 m, f1 = 0.018 m, d2 = 150
2.
* 103 m, l2 = 150 m, hf = 8 m, f2 = 0.021 m.
b.Choose the 200-mm diameter pipe as the standard pipe. The equivalent length for the
second pipe may be found as follows: le = l * (f/fe) * (De/D)5 = 150*(0.021/0.18)*
(200/150)5 = 737 m of 200 mm diameter.
c.Determine the total effective length as 250 + 737 = 987 m of 200 mm pipe.
2
d.Use the energy equation for the equivalent pipe as follows: hf = (f1*le v1 /2g* D1) = 0.018 *
987* v12/2 * 9.81*(200/1000) = 8, which yields v1 = 1.33 m/s.
e.Determine the flow rate as follows: Q = v * A = 1.33*(*(200 * 103)2/4) = 0.042 m3/s.
'*********************************************************************************
'Program 3.10: Equivalent-Length Method
'*********************************************************************************
Public Class Form1
Const g = 9.81
Dim N, EQP As Integer
Dim d(), l(), f(), MAXD As Double
Dim sum, R, V1, Q, H, V As Double
V = 4 * Q / (Math.Pi * MAXD ^ 2)
H = f(EQP) * sum * V ^ 2 / (2 * g * MAXD)
Label2.Text = "Total head loss (m): " + FormatNumber(H, decimals)
End If
End Sub
Generally, the number of loops is equal to the number of pipes minus the number of nodes minus 1 as
shown in the following equation:
(3.37)
In parallel pipes, head losses are the same in any of the lines, whereas discharges are cumulative.
Equations 3.38 and 3.39 can be formulated from Figure 4.6 (size of pipes, fluid properties, and roughness
are assumed to be known):
(3.38)
where:
Q is the total flow through a node, m/s3
Qi is the flow through pipe number i, m/s3
N is the number of pipes
(3.39)
where:
hl is the total head loss, m
hli is the head loss at pipe number i, m
Analysis of a network of pipes by Bernoullis and continuity equations would result in formulation of a
large volume of simultaneous equations that are tedious to solve. Instead of this lengthy procedure, the
method of successive approximations may be employed. This method assumes values for flow in each
pipe or head losses at each node, and it checks that the chosen values satisfy the following requirements
1.(Douglas et al. 2006): The head loss between any two junctions is the same for all routes between these
junctions.
2. The inflow to each junction equals the outflow from that junction.
Assumptions are corrected by successive approximations until they satisfy the requirement within the
required degree of accuracy (Douglas et al. 2006). The procedure used in the corrections is the Hardy
Cross (relaxation) method. This method considers the network as a combination of simple loops
(circuits). Each loop in the network is balanced to maintain compatible flow conditions in the system.
The procedure adopted for individual loops is summarized as follows:
1. Continuity equation is satisfied at all junctions. This indicates that at every junction, the total
quantity of water entering is equal to the algebraic sum of water leaving, including any water
removed from or added to the system at that junction, that is,
(3.40)
where:
Qi is the flow at node i, m3/s
N is the number of nodes
(3.41)
The Hardy Cross method analyzes the network by using the former concept of assuming initial flows. The
imbalance in the energy equations is then determined, and flows in each loop are corrected accordingly.
Corrections are carried out until convergence is achieved when the largest correction is less than some
tolerance level. Energy losses may be found using any one of the standard energy loss equations,
neglecting similar minor losses and kinetic energy. All energy loss equations can be expressed as
indicated in the following equation:
(3.42)
where:
h is the head loss, m
k is the resistance coefficient, numerical constant (a function of pipe geometry, diameter, length,
material and age of conduit, and fluid viscosity) Q is the volume rate of flow in the pipe, m3/s
n is the constant exponent for all pipes. If the DarcyWeisbach equation is used (h = f * l* v2/2D*g), n
= 2; if Mannings formula is used (v = rH2/3*j1/2/n), n = 2 (turbulent flow). If the HazenWilliams
formula is used (v = 0.894*c*(rH)0.63*j0.54), n = 1.85; c is the HazenWilliams roughness factor
(depends on the material and age of the conduit). Generally, v = constant*Dx(hf /l)y, where x and y
are constants depending upon the equation used.
The relationship of the discharges and corrections may be determined from the following equation:
(3.43)
where:
Q2 is the second set of assumed values of discharge
Q1 is the initial set of assumed values of discharge
Q1 is the first-order correction to the discharge
The sum of the energy losses around a loop based on the first assumption is as indicated in the following
equation:
(3.44)
The sum of energy losses when the first correction is applied yields the following equation:
(3.45)
Equation 3.46 is obtained by expanding Equation 3.45 into a series and neglecting small values:
(3.46)
(3.47)
The negative sign illustrates that the positive (clockwise) discharges ought to be reduced, and the negative
(anticlockwise, Tawaf-wise) discharges ought to be increased. The process is iterative and must be
continued until the desired degree of accuracy is achieved (Douglas et al. 2006).
In summary, the Hardy Cross method involves the following steps:
1. Geometric configuration of the network is established.
2. Appropriate flows are assumed in each pipe (continuity must be satisfied at each junction,
clockwise flows are positive, and they produce positive head losses).
3. For each elementary loop in the system:
a.Sign convention is established.
b.Head loss in each pipe is estimated.
c.Algebraic sum of the head loss around the loop is evaluated.
d.Correction factor is determined for each loop.
e.Flow adjustment is conducted for the loop.
4. The aforementioned step is applied to each circuit in the network, with flow correction
established to each pipe, and the procedure is repeated to fulfill the required accuracy. It is to be
noted that a common element in two different loops receives two different flow rate corrections.
5. For large complex networks, the analysis needs to be conducted by using a computer program.
In modeling a water supply network, the necessary data needed include system maps or pipe and valve
grid maps; geometric data, such as pipe diameters, lengths of pipes, materials, pipe junction elevations,
pump characteristic curves, valve types, and sets; operational data, such as total water production,
consumption and system losses, control valve set options, and reservoir levels.
Example 3.11
1. Write a computer program to compute the flow through each pipe of the network of the three
pipes (A, B, and C) in parallel as shown in Figures 3.13 and 3.14, given the rate of flow to
system Q, water temperature T, pipe diameters Da, Db, and Dc; friction factors fa, fb, and fc;
lengths la, lb, and lc; pressure at point 1, with point 1 at a level of z1; and point 2 at elevation
of z2. Let the program determine the pressure at point 2. Use DarcyWeisbach equation.
Figure 3.13 Pipes in parallel.
TABLE 3.8
First Iteration
LISTING OF PROGRAM 3.11 (CHAP3.11\FORM1.VB): HARDY CROSS
METHOD
'*********************************************************************************
'Program 3.11: Hardy Cross method
'*********************************************************************************
Imports System.Math
Public Class Form1
Const g = 9.81
Dim Npipes As Integer = 3
Dim Nnodes As Integer = 2
Dim Nloops = Npipes - (Nnodes - 1)
Dim iter As Integer = 1
Dim d(Npipes), f(Npipes), l(Npipes), k(Npipes), Q(Npipes) As Double
Dim h(Npipes), hQ(Npipes) As Double
Dim Qtotal, P1, P2, z1, z2 As Double
Dim deltaQ(Nloops) As Double
Dim T As Integer
Dim dTotal As Double = 0
Dim Rho_table() As Double =
{0.999956, 0.999941, 0.999902, 0.999849,
0.999781, 0.9997, 0.999605, 0.999498,
0.999377, 0.999244, 0.999099, 0.998943,
0.998774, 0.998595, 0.998405, 0.998203,
0.997992, 0.99777, 0.997538, 0.997296,
0.997044, 0.996783, 0.996512, 0.996232,
0.995944, 0.995646, 0.99534, 0.995025,
0.994702, 0.994371, 0.99403, 0.99368,
0.99333, 0.99296
}
'****************************************************************************
'Output calculations
'****************************************************************************
Dim j As Integer = 0
If DataGridView1.Columns.Count < 8 Then
DataGridView1.Columns.Add("kCol", "k")
DataGridView1.Columns.Add("qCol", "Q")
DataGridView1.Columns.Add("hCol", "h")
DataGridView1.Columns.Add("hQCol", "h/Q")
DataGridView1.Columns.Add("deltaQCol", "dQ")
End If
For i = 0 To Npipes - 1
DataGridView1.Rows(i).Cells("kCol").Value = k(i)
DataGridView1.Rows(i).Cells("qCol").Value = Q(i)
DataGridView1.Rows(i).Cells("hCol").Value = h(i)
DataGridView1.Rows(i).Cells("hQCol").Value = hQ(i)
Next
j = 0
For i = 0 To Nloops - 1
DataGridView1.Rows(j).Cells("deltaQCol").Value = deltaQ(i)
j += 2
Next
Label1.Text = digit_to_str(iter) + " Iteration"
TextBox6.Text = FormatNumber(P2, 2)
End Sub
Sub calc_deltaQ()
'Calculate correction factor (delta Q) for each pipe in a loop
Dim j As Integer = 0
Dim hTotal As Double = 0
Dim hQTotal As Double = 0
For i = 0 To Nloops - 1
hTotal = h(j) - h(j + 1)
hQTotal = hQ(j) + hQ(j + 1)
j += 1
deltaQ(i) = -hTotal / (2 * hQTotal)
Next
End Sub
Sub calc_P2()
Dim Rho As Double = -1
For i = 0 To temp_table.Length - 1
If T <= temp_table(i) Then
Rho = Rho_table(i)
Exit For
End If
Next
Not found?
If Rho = -1 Then
MsgBox("Please enter a temperature between 5 and 38.",
vbOKOnly Or vbInformation)
Exit Sub
End If
Rho *= 1000
(3.48)
where:
q is the flow, m3/s
h is the head loss, m
c is the hydraulic properties of the pipe (to be assumed)
The solution technique can be subdivided into three steps (Abdel-Magid 1987; Abdel-Magid et al. 1991):
1.An initial value of the pipe coefficient, c, is selected for each pipe and is then combined to yield the
system matrix coefficient (C). The system matrix is then solved for the value of the piezometric head at
each joint.
2. The individual pipe flows, q, are computed by means of Equation 3.48 using the difference
between the determined piezometric heads. These flows are then substituted in the Darcy
Weisbach equation to calculate the pipe head losses. If the pipe head losses obtained from the
DarcyWeisbach equation correspond to those obtained from the matrix solution, then the unique
solution, satisfying both the DarcyWeisbach equation and the linear Equation 3.48, has been
found.
3. If there is a difference between the values of head loss calculated by the two methods, the values
of c are changed to cause the problem to converge to a solution.
In analysis of a pipe network, Figure 3.16 is used (Abdel-Magid 1987; Abdel-Magid et al. 1991) to show
the application of the finite element method. Nodes and pipes are numbered for identification purposes.
As a sign convention, any external flow at a joint will be positive when fluid is input and negative when
actual consumption occurs. Applying the equilibrium flow criteria at each node then gives
(3.49)
(3.50)
Applying the sign convention on the flow in the element, it will be noted that although the flow at one end,
j, of the element will be input (i.e., positive), it is an output (i.e., negative) at the other end, k, of the
element. It follows that if the flow in element m, whose ends are nodes j and k, is given by qm = cm (Hj
Hk ) at end j, the same flow when considering end k will be qm = cm (Hk Hj ). Thus, substituting Equation
3.50 in Equation 3.49, observing the sign convention and writing in matrix form, we get the following
equation:
Equation 3.51 may be put in a compact form as shown in the following equation:
(3.52)
where:
Q is the network consumption vector
C is the network characteristics matrix
H is the network head vector
The input data in the finite element procedure consist of the following:
1. The number of nodes, elements, known consumption nodes, known head nodes, and fluid
2. properties The element number, its diameter, its length, and the number of its first and second
3. node connectivities The node number and its known head or consumption The DarcyWeisbach
relationship may be used in the analysis of head loss, as presented in the following equation:
(3.53)
where:
hf is the head loss, m
f is the friction factor
L is the length of pipe, m
D is the diameter of pipe, m
A is the cross-sectional area of pipe, m2
g is the acceleration of gravity, m/s2
q is the flow discharge, m3/s
The friction factor may be determined from the following equation (Wood and Charles 1972, Wood 1980,
Abdel-Magid 1987, Abdel-Magid et al. 1991):
(3.54)
where:
f is the friction factor
Re is the Reynolds number
(3.55)
(3.56)
The initial value of pipe coefficient, C0, was chosen to correspond to Re = 200,000 in each pipe, a
typical value for practical problems (Collins and Johnson 1975). Accordingly, and since Re = qD/(Av),
the initial flow in the pipe becomes
(3.57)
where:
A is the area of the pipe, m2
D is the diameter, m
v is the kinematic viscosity of the fluid, m2/s
The value of head loss, h0, corresponding to the flow, q0, can be calculated from Equation 3.53. The pipe
coefficient is then found from Equation 3.48 as indicated in the following equation:
(3.58)
This initial value of the pipe coefficient, c0, for each pipe was then combined, according to the geometry
of the network, to obtain the initial network characteristic matrix [C1]0. Using a standard finite element
procedure, the matrix assembly process to form the global matrix can be summarized. Starting with a zero
1.matrix, the following operations are performed for each element: Add coefficientC1 to position (k, k)
and (j, j).
2. Add coefficientC1 to position (k, j) and (j, k), according to the connectivity table. Once all
elements are considered, the [C] matrix is assembled.
Before the total system of equations can be solved, it is necessary to introduce proper boundary
conditions for at least some of the nodes of the network. The two possible types of boundary conditions
involve specifying either head or consumption for any given node. The introduction of the boundary
1.conditions for prescribed heads can be implemented by performing the following steps: Add the
contribution of the prescribed unknown Hj to the vector of nodal consumption [Q].
2. Zero the jth column and jth row of the matrix [C].
3. Make the jth coefficient of the vector nodal consumption equal to Hj .
A boundary condition of the second type, where the discharge rather than the head is prescribed, is
handled by simply placing the value of the prescribed discharge or consumption in the proper position in
the vector of nodal consumption. The solution of the simultaneous algebraic equations can be done using
the Gauss elimination technique (Burden and Faires 2010). The solution of the system of equations could
provide the values of the previously unknown nodal heads. With these, discharges could be computed for
every element using Equation 3.48.
During the checking procedure, the flow, qc, for each pipe calculated via Equation 3.48, and the matrix
solution may be used to determine the head loss, hc, from the DarcyWeisbach equation (Collins and
Johnson 1975; Abdel-Magid 1987; Abdel-Magid et al. 1991). The first step in the development of the
program is to obtain the correction for the c value for each pipe by assuming that the point (hc, qc) is the
unique solution. Thus, the correct linear relationship is defined by the straight line joining this point to the
origin and is defined by the following equation:
(3.59)
The new value of c is then set equal to qc/hc. When all pipe coefficients are corrected in a similar way,
the flow distribution obviously is altered, and this method can be overcorrected when the matrix is
resolved. To dampen this overcorrection effect, an averaging technique is introduced. The corrected value
of c is taken to be the mean of the c value defined by Equation 3.59 and the value of c used to obtain the
matrix solution (Abdel-Magid 1987; Abdel-Magid et al. 1991).
Example 3.12
Write a computer program to predict flows in a network that consists of E number of elements and N
number of nodes, given input and withdrawals at nodes, pipe characteristics for each pipe in the
system, and water level in tank at a fixed node.
'*********************************************************************************
'Program 3.12: FEM Analysis of Pipe Networks
'*********************************************************************************
Imports System.Math
Public Class Form1
Dim loadFromFile As Boolean
Dim N
Dim ICHECKER, EE, WW, DIF As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load loadFromFile = False
Me.Text = "Program 3.12: FEM Analysis of Pipe Networks"
Me.Width = 322
TextBox6.Multiline = True
TextBox6.Height = 291
TextBox6.ScrollBars = ScrollBars.Vertical
TextBox6.Font = New Font(FontFamily.GenericMonospace, 10)
Button1.Text = "Browse"
Label1.Text = "Open data file:"
Label2.Text = ""
GroupBox1.Text = " Load data from file: "
GroupBox2.Text = " OR, Enter new data: "
Button2.Text = "Browse"
Label3.Text = "Select a file to save data.."
Label4.Text = ""
Label5.Text = "Enter number of elements:"
Label6.Text = "Enter number of nodes:"
Label10.Text = "Are you using metric units?:"
Label7.Text = "Enter number of nodes with known head:"
Label8.Text = "Enter number of nodes with known flow:"
Label9.Text = "Enter roughness (enter zero if unknown):"
RadioButton1.Text = "Yes"
RadioButton2.Text = "No"
RadioButton1.Checked = True
Button3.Text = "Calculate"
End Sub
Sub calculateResults()
N = NELEM
If NNODE > NELEM Then N = NNODE
If loadFromFile Then
ReDim DIAM(N), XLEN(N), AK(N), LNODS(N, 2), HEAD(N), H(N), Q(N), C(N),
F(N) ReDim D(N), NODEH(N), Z(N, N), DELH(N), QO(N), CO(N), R(N), DH(N)
End If
For I = 1 To NNODE
H(I) = 0.0!
Q(I) = 0.0!
Next I
If loadFromFile Then
For I = 1 To NELEM
Input(1, DIAM(I))
Input(1, XLEN(I))
Input(1, LNODS(I, 1))
Input(1, LNODS(I, 2))
Next I
For I = 1 To NPFLOW
Input(1, NODEQ)
Input(1, Q(NODEQ))
Next I
For I = 1 To NVFIX
Input(1, NODEH(I))
Input(1, HEAD(NODEH(I)))
Next I
FileClose(1)
End If
'CONSTANT VALUES
If UCase$(met$) = "Y" Then unit$ = "Metric" Else unit$ = "fps"
Re = 200000.0! 'ASSUMED INITIAL REYNOLDS NUMBER
EPSILON = 10 ^ -3 'ITERATION CONTROL FACTOR
If ROUGHNESS = 0.0! Then
ROUGHNESS = 0.004 'IN FEET
If unit$ = "Metric" Then ROUGHNESS = 0.0013 'IN METRES
End If
PI = 22 / 7.0!
viscous = 1.059 * 10 ^ -5
G = 32.2 'GRAVITATIONAL ACCELERATION
CNVRT = 1.0!
If unit$ = "Metric" Then
viscous = 0.000000976
G = 9.807
CNVRT = 3600.0! * 24 'CONVERT TO M3/DAY
End If
'****************************************************************************
'****************************************************************************
For I = 1 To NNODE
QO(I) = Q(I)
Next I
'CALCULATE PIPE COEFFICIENT C(I)
For I = 1 To NELEM
AK(I) = ROUGHNESS / DIAM(I)
FF = -1.62 * AK(I) ^ 0.134
BK = 88.0! * AK(I) ^ 0.44 * Re ^ FF
F(I) = 0.094 * AK(I) ^ 0.225 + 0.53 * AK(I) + BK
Q1 = Re * viscous * PI / 4.0! * DIAM(I)
CT = 8.0! * F(I) * XLEN(I) / (PI ^ 2 * G * DIAM(I) ^ 5)
H1 = CT * Q1 ^ 2
CO(I) = Q1 / H1
C(I) = CO(I)
Next I
'Assembly of global matrix z(i,j)
ITER = 0
Start:
Dim J
ITER = ITER + 1
For I = 1 To NELEM
Q(I) = QO(I) / CNVRT
For J = 1 To NNODE
Z(I, J) = 0.0!
Next J
Next I
For I = 1 To NELEM
L1 = LNODS(I, 1)
L2 = LNODS(I, 2)
Z(L1, L1) = Z(L1, L1) + C(I)
Z(L2, L2) = Z(L2, L2) + C(I)
Z(L1, L2) = Z(L1, L2) - C(I)
Z(L2, L1) = Z(L2, L1) - C(I)
Next I
'IMPOSE BOUNDARY CONDITIONS
For INODE = 1 To NVFIX
J = NODEH(INODE)
Z(J, J) = Z(J, J) * 100000000.0
Q(J) = HEAD(J) * Z(J, J)
Next INODE
'SOLVE THE EQUATIONS BY GAUSSIAN ELIMINATION
Call GAUSS(NNODE, Z, Q, H)
'COMPUTE HEADLOSSES AND DISCHARGES
ICHECKER = 0
For I = 1 To NELEM
L1 = LNODS(I, 1)
L2 = LNODS(I, 2)
DELH(I) = Abs(H(L1) - H(L2))
D(I) = C(I) * DELH(I)
R(I) = 4.0! * D(I) / (PI * viscous * DIAM(I))
EE = -1.62 * AK(I) ^ 0.134
WW = 88.0! * AK(I) ^ 0.44 * R(I) ^ EE
F(I) = 0.094 * AK(I) ^ 0.225 + 0.53 * AK(I) + WW
DH(I) = XLEN(I) * D(I) ^ 2 / DIAM(I) ^ 5
DH(I) = DH(I) * 8.0! * F(I) / (G * PI ^ 2)
DIF = Abs(DH(I) - DELH(I))
If DIF > EPSILON Then
ICHECKER = ICHECKER + 1
C(I) = 0.5 * (C(I) + (D(I) / DH(I)))
End If
Next I
If ICHECKER > 0 Then GoTo start
'RESULTS
Dim s As String
s = "Element No. Discharge HEAD LOSS"
For I = 1 To NELEM
s += vbCrLf + Format(I, "####")
s += Format((D(I) * CNVRT), "####.#####")
s += Format(DELH(I), "####.#####")
Next
s += vbCrLf + "Node Number Head"
For I = 1 To NNODE
s += vbCrLf + Format(I, "####")
s += Format(H(I), "####.#####")
Next
s += vbCrLf + "TOTAL ITERATIONS = " + ITER.ToString
TextBox6.Text = s
Me.Width = 691
End Sub
Sub GAUSS(ByVal NNODE, ByVal Z(,), ByVal Q(), ByVal H())
'****************************************************************************
'SOLVES A SYSTEM OF LINEAR EQUATIONS BY GAUSSIAN ELIMINATION
'****************************************************************************
Dim ZZ, COF As Double
'FORWARD ELIMINATION
For I = 1 To NNODE - 1
ZZ = Z(I, I)
Q(I) = Q(I) / ZZ
For J = 1 To NNODE
Z(I, J) = Z(I, J) / ZZ
Next J
For K = I + 1 To NNODE
COF = -Z(K, I)
Q(K) = Q(K) + COF * Q(I)
For J = 1 To NNODE
Z(K, J) = Z(K, J) + COF * Z(I, J)
Next J
Next K
Next I
'BACK SUBSTITUTION
H(NNODE) = Q(NNODE) / Z(NNODE, NNODE)
For I = NNODE - 1 To 1 Step -1
H(I) = Q(I)
For J = I + 1 To NNODE
H(I) = H(I) - Z(I, J) * H(J)
Next J
Next I
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click Dim f = OpenFileDialog1.ShowDialog
If f = DialogResult.Cancel Then Exit Sub
Label2.Text = OpenFileDialog1.FileName
FileOpen(1, OpenFileDialog1.FileName, OpenMode.Input)
Input(1, NELEM)
Input(1, NNODE)
Input(1, met$)
met$ = met$.Trim()
Input(1, NVFIX)
Input(1, NPFLOW)
Input(1, ROUGHNESS)
loadFromFile = True
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click Dim f = SaveFileDialog1.ShowDialog
If f = DialogResult.Cancel Then Exit Sub
Label4.Text = SaveFileDialog1.FileName
saveFileName = SaveFileDialog1.FileName
loadFromFile = False
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click If Not loadFromFile Then
NELEM = Val(TextBox1.Text)
NNODE = Val(TextBox2.Text)
NVFIX = Val(TextBox3.Text)
NPFLOW = Val(TextBox4.Text)
ROUGHNESS = Val(TextBox5.Text)
If RadioButton1.Checked Then met$ = "Y" Else met$ = "N"
Dim f2 As New Form2
f2.ShowDialog()
End If
calculateResults()
End Sub
End Class
(B) LISTING OF FORM2 (CHAP3.12\FORM2.VB)
Public Class Form2
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load TabPage1.Text = "Pipe data"
GroupBox1.Text = ""
DataGridView1.Columns.Clear()
DataGridView1.Columns.Add("DCol", "Diameter")
DataGridView1.Columns.Add("LCol", "Length")
DataGridView1.Columns.Add("E1Col", "End 1")
DataGridView1.Columns.Add("E2Col", "End 2")
DataGridView1.Rows.Add(CInt(NELEM))
DataGridView1.AllowUserToAddRows = False
TabPage2.Text = "Ext. Node flow"
GroupBox2.Text = ""
DataGridView2.Columns.Clear()
DataGridView2.Columns.Add("NCol", "Node No.")
DataGridView2.Columns.Add("ECol", "Ext. flow")
DataGridView2.Rows.Add(CInt(NPFLOW))
DataGridView2.AllowUserToAddRows = False
TabPage3.Text = "Node head"
GroupBox3.Text = ""
DataGridView3.Columns.Clear()
DataGridView3.Columns.Add("NCol", "Node No.")
DataGridView3.Columns.Add("HCol", "Known head")
DataGridView3.Rows.Add(CInt(NVFIX))
DataGridView3.AllowUserToAddRows = False
Button3.Text = "&Save data"
End Sub
Sub saveData()
Dim N = NELEM
ReDim DIAM(N), XLEN(N), AK(N), LNODS(N, 2), HEAD(N), H(N), Q(N), C(N),
F(N) ReDim D(N), NODEH(N), Z(N, N), DELH(N), QO(N), CO(N), R(N), DH(N)
FileOpen(2, saveFileName, OpenMode.Output)
Print(2, NELEM, NNODE, Chr(34), met$, Chr(34))
Print(2, NVFIX, NPFLOW, ROUGHNESS)
For I = 1 To NELEM
DIAM(I) = Val(DataGridView1.Rows(I - 1).Cells("DCol").Value)
XLEN(I) = Val(DataGridView1.Rows(I - 1).Cells("LCol").Value)
LNODS(I, 1) = Val(DataGridView1.Rows(I - 1).Cells("E1Col").Value)
LNODS(I, 2) = Val(DataGridView1.Rows(I - 1).Cells("E2Col").Value)
Print(2, DIAM(I), XLEN(I), LNODS(I, 1), LNODS(I, 2))
Next
'INPUT EXTERNAL NODAL FLOWS
For I = 1 To NPFLOW
(3.60)
where:
w is the lateral deflection of the tank
x is the distance along the height of the tank measured from its base
H is the height of the tank
is the density of liquid, KN/m3
is a constant given by the following equation:
(3.61)
where:
v is the Poissons ratio of the material of the tank
a is the radius of the tank
t is the thickness of the walls of the tank
D is the flexural rigidity of the tank, given by the following equation:
(3.62)
(3.63)
The constants C1 and C2 are obtained by applying the boundary conditions and are given by the following
equations:
(3.64)
(3.65)
Using the solution given by Equation 3.64, together with the strain displacement relationship and Hooks
law, the bending moments in the walls of the tank can be found as shown in Equation 3.66:
(3.66)
where Mx is the vertical moment on the wall per unit width, KNm.
(3.67)
(3.68)
The horizontal moment My on the walls per unit width is given by the following equation:
(3.69)
(3.70)
The maximum shear force at the foot of the walls will be given by the following equation:
(3.71)
Example 3.13
1. Write a computer program to compute the bending moments, axial thrust, and shearing forces
in a circular tank of height H, radius R, and wall thickness t. The tank retains a fluid with
density .
2. A cylindrical tank with radius of 9 m and height of 8 m has a wall thickness of 0.35 m and
retains a liquid with a density of 9.99 KN/m3. Assuming Poissons ratio of 0.25, compute the
bending moments, axial thrust, and shearing forces at midheight and at the base of the walls.
Solution
1. For solution to Example 3.13 (1), see the listing of Program 3.13.
a. 2 Using the data with Program 3.13, the following results are obtained: At a depth of 4 m:
1.
Mx = 4.17 kNm/m, My = 1.04 kNm/m, N = 390.41 kN/m, Q = 5.39 KN/m.
b. At a depth of 8 m: Mx = 62.2 kNm/m, My = 15.5 kNm/m, N = 0, Q = 100.15 KN/m.
'*********************************************************************************
'Program 3.13: Analysis of Circular Tanks
'*********************************************************************************
Imports System.Math
Public Class Form1
Dim H, t, D, gamma, Mu, y As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 3.13: Analysis of
Circular Tanks"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Enter the height of tank, H (m):"
Label2.Text = "Enter the thickness of wall, t (m):"
Label3.Text = "Enter the diameter of the tank, Dt (m):"
Label4.Text = "Enter the density of the liquid, (KN/m3):"
Label5.Text = "Enter Poisson's ratio of the material of tank:"
Label6.Text = "Enter depth at which forces are required, x(m):"
Button1.Text = "Load another section"
Button2.Text = "Calculate"
TextBox7.Multiline = True
TextBox7.Height = 144
TextBox7.ScrollBars = ScrollBars.Vertical
End Sub
Sub calculateResults()
Dim decimals As Integer = 2
H = Val(TextBox1.Text)
t = Val(TextBox2.Text)
D = Val(TextBox3.Text)
gamma = Val(TextBox4.Text)
Mu = Val(TextBox5.Text)
y = Val(TextBox6.Text)
Dim X, R, b, bh, c0, c1, c2, N, M, V As Double
X = H - y
R = D / 2
b = (3 * (1 - (Mu ^ 2))) / ((R ^ 2) * (t ^ 2))
b = (b ^ 0.25)
bh = b * H
c0 = (12 * (1 - Mu ^ 2)) ^ 0.5
Dim theta As Double = Exp(-X) * Cos(b * X)
N = gamma * R * H * (1 - X / H - Exp(-b * X) * Cos(b * X) - (1 - 1 / bh)
* Exp(-b * X) * Sin(b * X)) M = gamma * R * H * t * (-Exp(-b * X) * Sin(b *
X) + (1 - 1 / bh) * Exp(-b * X) * Cos(b * X)) / c0
c1 = 1 / bh
c2 = -(2 - (1 / bh))
V = -gamma * R * H * t / c0 * (b * Exp(-b * X)) * (c1 * Sin(b * X) + c2
* Cos(b * X)) Dim _My As Double = Mu * M
Dim s As String
s = "At a depth = " + y.ToString + " m from the top of the tank:" +
vbCrLf s += "Vertical moment Mx = " + FormatNumber(M, decimals) + " KNm/m" +
vbCrLf s += "Horizontal moment My = " + FormatNumber(_My, decimals) + "
KNm/m" + vbCrLf s += "Axial ring force N = " + FormatNumber(N, decimals) + "
KN/m" + vbCrLf s += "Shearing force V = " + FormatNumber(V, decimals) + "
KN/m"
TextBox7.Text = s
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click calculateResults()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click TextBox6.Text = ""
TextBox7.Text = ""
TextBox6.Focus()
End Sub
End Class
(3.72)
(3.73)
where:
Mx1 and Mx2 are the horizontal moments at the center of the long and short sides of the tank,
respectively a is the side ratio = Lx/Ly
P is the fluid pressure at any depth z from the top of the tank = z is the density of the retained
material
z is the depth at which the moments and forces are calculated
The horizontal moment at the junction between the walls of the tank Ms will be opposite in direction to
both Mx1 and Mx2 and will be given by the following equation:
(3.74)
The moment on the vertical strips of the walls of the tank My per unit width of the walls can be calculated
from the following equations:
(3.75)
(3.76)
The axial force in the wall acts horizontally and is equal to the reaction on the other wall. For the side
with length Lx, the axial force is as given by the following equation:
(3.77)
And that on the side with length Ly is given by the following equation:
(3.78)
(3.79)
where:
w is the lateral deflection of the tank walls
q is the lateral pressure on the walls
D is the flexural rigidity of the walls of the tank
The usual procedure is to assume each plate to be completely fixed to its neighboring plate, whereas its
top can be free or simply supported. The moments are then found by solving Equation 3.79. Various
methods exist for the solution, which includes the approximate elasticity methods described by
Timoshinko and Krieger (Timoshinko and Krieger 1989), or the numerical approximate methods of the
finite differences (Reddy 2006), or the finite elements (Arya 2002). The moments found in this way at the
edges of the plates will not be in equilibrium and can be distributed using the stiffness of the mating walls
in the normal way (Obrien and Dixon 2012). Details of the method of solution for Equation 3.79 using the
finite difference method are given in Chapter 5. The method is suitable for both shallow and deep tanks
(see Program 5.5).
Example 3.14
1. Write a computer program to analyze a rectangular tank, given its plan dimensions Lx and Ly,
the wall thickness t, its depth H, and the density of the retained material .
2. Use the program developed in (1) to analyze a rectangular tank of plan dimensions 3 m 2 m
with a depth of 8 m and a wall thickness of 0.2 m, at a depth of 4 m and at a depth of 8 m.
The material retained has a density of 9.81 KN/m3. Take Poissons ratio = 0.25.
Solution
'*********************************************************************************
'Program 3.14: Analysis of Rectangular Tanks
'*********************************************************************************
Imports System.Math
Public Class Form1
Dim H, t, Lx, Ly, gama, mu, y As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 3.14: Analysis of
Rectangular Tanks"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Enter the height of tank, H (m):"
Label2.Text = "Enter the thickness of wall, t (m):"
Label3.Text = "Enter the length of the tank, Lx (m):"
Label4.Text = "Enter the width of the tank, Ly (m):"
Label5.Text = "Enter the density of the liquid (KN/m3):"
Label6.Text = "Enter Poisson's ratio of the material of tank:"
Label7.Text = "Enter depth at which forces are required, x (m):"
Button1.Text = "Load another section"
Button2.Text = "Calculate"
TextBox7.Multiline = True
TextBox7.Height = 144
TextBox7.ScrollBars = ScrollBars.Vertical
End Sub
Sub calculateResults()
H = Val(textbox1.text)
t = Val(textbox2.text)
Lx = Val(TextBox3.Text)
Ly = Val(TextBox4.Text)
gama = Val(TextBox5.Text)
mu = Val(TextBox6.Text)
y = Val(TextBox8.Text)
Dim a, P, Mx1, Mx2, Mc, Nx, Ny As Double
a = Lx / Ly
P = gama * y
Mx1 = (0.5 * a ^ 2 + a - 1) * P * Ly ^ 2 / 12
Mx2 = (0.5 + a - a ^ 2) * P * Ly ^ 2 / 12
Mc = (1 - a - a ^ 2) * P * Ly ^ 2 / 12
Nx = P * Ly / 2
Ny = P * Lx / 2
Dim s As String
s = "At a depth = " + y.ToString + " m from the top of the tank:" +
vbCrLf s += "Horizontal moment at the center of the long side Mx = " +
Mx1.ToString + " KNm/m" + vbCrLf s += "Horizontal moment at the center of the
short side My = " + Mx2.ToString + " KNm/m" + vbCrLf s += "Horizontal moment
at the joints of the sides Mc = " + Mc.ToString + " KNm/m" + vbCrLf s +=
"Horizontal thrust on the long sides Nx = " + Nx.ToString + " KN/m" + vbCrLf
s += "Horizontal thrust on the short sides Ny = " + Ny.ToString + " KN/m"
TextBox7.Text = s
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click calculateResults()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click TextBox8.Text = ""
TextBox7.Text = ""
TextBox8.Focus()
End Sub
End Class
(3.80)
where:
Ast is the area of steel needed, mm2
M is the applied bending moment, Nmm
fy is the yield strength of the steel, N/mm2
Z is the level arm, mm
For a certain moment M, the lever arm Z can be obtained from the following equation:
(3.81)
where d is the effective depth of the section (mm), that is, total depth minus the cover to steel.
where:
M is the bending moment, N*mm
b is the breadth of the section, mm
d is the effective depth, mm
fcu is the concrete strength, N/mm2
If the section is subjected to an axial tensile force N in addition to the bending moment M (as is the
case with the horizontal strips in tanks), the total area of steel can be obtained from the following
equation:
(3.82)
where:
N is the axial tensile force on the section, N
fst is the design steel stress, N/mm2
M is the bending moment on the section, Nmm
d is the effective depth of the section, mm
t is the thickness of the section, mm
Z is the lever arm given by Equation 3.81, mm To cover the effects of thermal and shrinkage, a check for
cracks can be made. However, most codes of practice recommend that the area of the steel in any section
must not be less than Astmin, given by the following equation:
(3.83)
where:
b is the breadth of section, mm
t is the thickness of walls, mm
F = 0.0024 for mild steel reinforcement (i.e., grade 250); = 0.0015 for high-yield steel reinforcement
(i.e., grade 460)
Example 3.15
1. Write a computer program to design the reinforcement for a section of a concrete tank for a
certain moment M and axial tension N, given the wall thickness t, the concrete strength (grade of
concrete) fcu, and the steel yield strength fy.
2. Use the program developed in (1) to design a concrete tank section subject to a vertical bending
moment Mx = 4.17 KNm/m, horizontal bending moment of 1.04 KNm/m, an axial (ring) tension
of 390.41 KN/m, and a shearing force of 5.39 KN/m. Take fcu = 30 N/mm2, fy = 250 N/mm2, and
a wall thickness of 0.2 m, assuming severe exposure conditions.
Solution
1. For solution to Example 3.15 (1), see the listing of Program 3.15.
2. Input for the program will be in the following form: fcu = 30, fy = 250, Mh = 1.04, Mv = 4.17, N
= 390, V = 5.39, t = 0.2, severe exposure conditions. The following results will be obtained:
cover to steel = 40 mm, horizontal steel = 1739.1 mm2, and vertical steel = 300 mm2.
'*********************************************************************************
'Program 3.15: Structural design of tanks
'*********************************************************************************
Imports System.Math
Public Class Form1
Public d(3), A(4), spac(4), NB(4)
Public CV, fcu, fy, Mh, Mv, N, V, t As Double
Public Astv, Ra, Vc, fu, Stress As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 3.15: Structural
design of tanks"
Label1.Text = "Enter grade of concrete, fcu (N/mm2):"
Label2.Text = "Enter the steel yield stress, fy (N/mm2):"
Label3.Text = "Enter the horizontal moment, Mh (KNm/m):"
Label4.Text = "Enter the vertical moment, Mv (KNm/m):"
Label5.Text = "Enter the ring tension, N (KN/m):"
Label6.Text = "Enter the maximum shear, V (KN/m):"
Label7.Text = "Enter the thickness of the wall, t (m):"
Label8.Text = "Select exposure conditions:"
Button1.Text = "&Calculate"
TextBox8.Multiline = True
TextBox8.Height = 114
TextBox8.ScrollBars = ScrollBars.Vertical
ComboBox1.Items.Clear()
ComboBox1.Items.Add("Mild")
ComboBox1.Items.Add("Moderate")
ComboBox1.Items.Add("Severe")
ComboBox1.Items.Add("Very severe")
ComboBox1.Items.Add("Extreme")
ComboBox1.SelectedIndex = 0
End Sub
Sub calculateResults()
fcu = Val(TextBox1.Text)
fy = Val(TextBox2.Text)
Mh = Val(TextBox3.Text)
Mv = Val(TextBox4.Text)
N = Val(TextBox5.Text)
V = Val(TextBox6.Text)
t = Val(TextBox7.Text)
Unconfined
Item Confined
Water movement
Possibility of contamination
Pressure
Depth
Recharge and replenishment
Groundwater age
Typical examples
5. Define the term water foot print. Indicate how to measure its value for your country.
6. How do you estimate future population in your locality with the available data?
7. In the following table, give two examples of vital standards related to water and its use,
describe the most essential influencing parameters and responsible authority within a certain
municipality (Dammam University, B.Sc. exam 2013).
8. In the following table, outline the importance of each term as related to water supply from an
engineering prospective (Dammam University, B.Sc. exam 2013).
Compare between ground water and surface water from different points of view as per activity
9.
parameters shown in the following table:
Groundwater
Activity Surface Water
Natural recharge
Availability
Quality
Production cost
Storage
Properties
Table of Expected Well Yield
Well Diameter (cm) Expected Well Yield (m3 /day)
15 <500
20 4001,000
25 8002,000
30 2,0003,500
35 3,0005,000
40 4,5007,000
50 6,50010,000
60 8,50017,000
5.a. Write a computer program to plot a mass curve for given river discharges. Determine the
minimum capacity of a reservoir if the entire annual inflow is to be drawn off at a uniform rate
(with no flow going into waste over the spillway) and to compute the amount of water, which
must be initially stored to maintain the uniform draw-off.
b.The following table is a record of the mean monthly discharges of a river in a dry year
(Dammam University, B.Sc. exam 2015).
i. Plot the mass curve for the river discharges given.
ii. Determine the minimum capacity of a reservoir if the entire annual inflow is to be drawn off at a
uniform rate (with no flow going into waste over the spillway).
iii. Compute the amount of water that must be initially stored to maintain the uniform draw-off.
Mean Flow (cumec)
Month
January 42
February 88
March 79
April 69
May 35
June 38
July 80
August 62
September 87
October 79
November 53
December 38
6.. Write a computer program to determine the pressure difference in a horizontal circular pipe,
given its length, l (m); diameter, D (m); and the maximum shear that can develop at pipe wall, w
(N/m2). Check the validity of your program, given D = 300 mm and w = 0.4 kPa per unit length.
7. Write a short program to estimate minor losses in a piping system, h1 (m), given the loss
coefficient, k1, and the velocity of flow, v (m/s). Use the relationship: h1 = k1*v2/2g. Check the
validity of your program for the following data: v = 15 m/s, k1 = 0.5.
8. Write a computer program that enables the determination of the pressure drop in a pipe using
Poiseuilles law (P = 32lv/D2). Let the program also find the pressure drop through the
DarcyWeisbach equation (P = f lv2/2D) with the friction factor found either for laminar flow
(f = 64/Re) or for turbulent flow, f, determined from Colebrooks equation: 1/(f)1/2 =
2log[((/D)/3.7) + (2.51/(Re*( f )1/2))] and given the roughness of pipe wall, (m); the pipe
diameter, D (m); the velocity of flow through pipe, v (m/s); and fluid properties (density,
[kg/m3], dynamic viscosity, [N*s/m2], and kinematic viscosity, v [m2/s]). Let the program
determine whether the flow is laminar, transition, or turbulent. Check the validity of your
program for a gas flowing through a tube at v = 10 m/s, D = 5 mm, = 0.002 m, l = 0.2 m, =
1.33 kg/m3, = 2 * 105 N*s/m2, and v = 1.5 * 105 m2/s.
REFERENCES
Abdel-Magid, H. 1987. Analysis and Design of Networks Using Finite Element Method. MSc thesis, Department of Civil Engineering,
University of Khartoum, Khartoum, Sudan.
Abdel-Magid, H., Hago, A., and Abdel-Magid, I.M. 1991. Analysis of pipe networks by the finite element method. J. Water Int. 16(2):96101.
Abdel-Magid, I. M. 1986. Water Treatment and Sanitary Engineering. Khartoum, Sudan: Khartoum University Press (Arabic).
doi:10.13140/RG.2.1.1962.0883.
Abdel-Magid, I. M. and Abdel-Magid, M. I. M. 2015. Problem Solving in Environmental Engineering, 2nd ed. Dammam, KSA:
CreateSpace Independent Publishing Platform.
Abdel-Magid, I. M. and ElHassan, B. M. 1986. Water supply in the Sudan. Khartoum, Sudan: Khartoum University Press, Sudan National
Council for Research (Arabic). doi:10.13140/RG.2.1.2371.6882.
Abdel-Magid, I. M., Mohammed, A. H., and Rowe, D. R. 1996. Modeling Methods for Environmental Engineers. Boca Raton, FL: CRC
Press.
Arya, C. 2002. Design of Structural Elements: Concrete, Steelwork, Masonry and Timber Designs to British Standards and Eurocodes,
2nd ed. New York: CRC Press.
Burden, R. L. and Faires, J. D. 2010. Numerical Analysis, 9th ed. Boston, MA: Cengage Learning.
Chapagain, A. K. and Hoekstra, A.Y. 2004. Water Footprints of Nations, Volume 1: Main Report. Value of Water: Research Report Series
No. 16. Delft, the Netherlands: UNESCO-IHE Institute for Water Education.
Collins, A.G. and Johnson R. L. 1975. Finite element method for water distribution networks. J. Am. Waterworks Assoc. 67(7):385389.
Currie, I.G. 2012. Fundamental Mechanics of Fluids, 4th ed. Boca Raton, FL: CRC Press.
Davis, M. L. and Cornwell, D. A. 2006. Introduction to Environmental Engineering, 4th ed. Boston, MA: McGraw-Hill
Science/Engineering/Math.
Douglas, J. F., Gasiorek, J. M., Swaffield, J.A., and Jack, L. 2006. Fluid Mechanics, 5th ed. New York: Prentice Hall.
Epp, R. and Fowler, A. G. 1970. Efficient code for steady state flows in networks. Proc. Am. Soc. Civil Engineers, J. Hydraulics Div.
96(HY1):4356.
Fair, G. M., Geyer, J. C., and Okum, D. A. 1966. Water and Wastewater Engineering, Vols I and II. New York: John Wiley & Sons.
Gientke, F. J. 1974. Finite element solution for flow in noncircular conduits. Proc. Am. Soc. Civil Engineers. J. Hydraulics Div.
100(HY3):425442.
Global Footprint Network. 2016. Footprint Calculator. http://www.footprintnetwork.org/resources/footprint-calculator/ (accessed on May 20,
2016).
Grigg, N. 2012. Water, Wastewater, and Storm Water Infrastructure Management, 2nd ed. Boca Raton, FL: CRC Press.
Gupta, R. S. 2007. Hydrology and Hydraulic Systems, 3rd ed. Long Grove, IL: Waveland Press Inc.
Henry, J. G. and Heinke, G. W. 1996. Environmental Science and Engineering, 2nd ed. Englewood Cliffs, NJ: Prentice Hall.
Howe, K. J., Hand, D. W., Crittenden, J. C., Trussell, R. R., and Tchobanoglous, G. 2012. Principles of Water Treatment, 1st ed. Hoboken,
NJ: Wiley.
IPHE. 1984. The Public Health Engineering Data Book 1983/84. Edited by Bartlett, R. London: Sterling Publishers.
Lam, C.F. and Wolla, M. L. 1972. Computer analysis of water distribution systems, Part I. formulation of equations. Proc. Am. Soc. Civil
Engineers, J. Hydraulics Div. 98 (HY2):335344.
Lin, S. D. 2014. Water and Wastewater Calculations Manual, 3rd ed. New York: McGraw-Hill Education.
Liu, K. T. 1969. The Numerical Analysis of Water Supply Networks by a Digital Computer. Proceedings of the IAHR 13th Congress,
Kyoto, Japan, August 31September 5. pp. 3542.
London and General Water Purifying Company. 2012. Water: Its Impurities and Purification. London, UK: Nabu Press.
McCormich, M. and Bellamy, C. J. 1968. A computer program for the analysis of networks of pipes and pumps. J. Inst. Eng. 38(3):5158.
McGhee, T. J. and Steel, E. W. 1991. Water Supply and Sewerage, 6th ed. New York: McGraw-Hill.
Munson, B. R., Rothmayer, A. P., Okiishi, T. H., and Huebsch, W. W. 2012. Fundamentals of Fluid Mechanics, 7th ed. Hoboken, NJ: Wiley.
Nathanson, J. A. 2007. Basic Environmental Technology: Water Supply, Waste Management & Pollution Control, 5th ed. New Delhi,
India: Prentice Hall.
National Geographic. 2016. Water Footprint Calculator. http://environment.nationalgeographic.com/environment/freshwater/change-the-
course/water-footprint-calculator/ (accessed on May 21, 2016).
Nemerow, N. L., Agardy, F. J., and Salvato, J. A. 2009. Environmental Engineering, 6th ed. New York: Wiley and Sons.
Nielsen, D. M. (Ed.) 1991. Practical Handbook of Ground-Water Monitoring. Boca Raton, FL: CRC Press.
Obrien, E. and Dixon, A. 2012. Reinforced and Prestressed Concrete Design to EC2: The Complete Process, 2nd ed. Boca Raton, FL:
CRC Press.
Peavy, H. S., Rowe, D. R., and Tchobanoglous, G. 1985. Environmental Engineering. New York: McGraw-Hill Book Co.
Reddy, J. N. 2006. Theory and Analysis of Elastic Plates and Shells, 2nd ed. (Series in Systems and Control). Boca Raton, FL: CRC Press.
Ricketts, J., Loftin, M., and Merritt, F. S. 2003. Standard Handbook for Civil Engineers. New York: McGraw-Hill Professional.
Rowe, D. R. and Abdel-Magid, I. M. 1995. Wastewater Reclamation and Reuse. New York: Lewis Pub.
Shamir, U. and Howard, C. D. 1968. Water distribution systems analysis. Proc. Am. Soc. Civil Engineers, J. Hydraulics Div. 94
(HY1):219234.
Smith, P. G. 2005. Dictionary of Water and Waste Management, 2nd ed. Burlington, MA: Butterworth-Heinemann.
Smith, P. G. and Scott, J. S. 2002. Dictionary of Water and Waste Management. London: International Water Association.
Spellman, F. R. 2013. Handbook of Water and Wastewater Treatment Plant Operations, 3rd ed. Boca Raton, FL: CRC Press.
Timoshenko, S.P. and Woinowsky-Krieger, S. 1989. Theory of Plates and Shells, 28th ed. McGraw-Hill international editions.
Todd, D. K. and Mays, L. W. 2004. Groundwater Hydrology, 3rd ed. New York: John Wiely and Sons.
Valsaraj, K. T. and Melvin, E. M. 2009. Elements of Environmental Engineering: Thermodynamics and Kinetics, 3rd ed. Boca Raton, FL:
CRC Press.
Vesilind, P. A. and Peirce, J. J. 1997. Environmental Pollution and Control, 4th ed. London: Butterworth-Heinemann.
Viessman, W. and Lewis, G. L. 2002. Introduction to Hydrology, 5th ed. New Delhi, India: Prentice Hall.
Viessman, W., Perez, E. M., Chadik, P. A., and Hammer, M. J. 2015. Water Supply and Pollution Control. Upper Saddle River, NJ:
Pearson.
Water Footprint Network (WFN). 2016. Water Footprints. http://www.waterfootprint.org/en/water-footprint/ (accessed on April 21, 2016).
White, F. 2010. Fluid Mechanics with Student DVD, 7th ed. New York: McGraw-Hill Science/Engineering/Math.
Wood, D. J. 1980. Slurry flow in pipe networks. Proc. Am. Soc. Civil Engineers, J. Hydraulics Div. 102 (HY1):5770.
Wood, D. J. and Charles, C. O. 1972. Hydraulic network analysis using linear theory. Proc. Am. Soc. Civil Engineers, J. Hydraulics Div. 98
(HY7):11571170.
Zhang, G. P., Hoekstra, A. Y., and Mathews, R. E. 2013. Water Footprint Assessment (WFA) for better water governance and sustainable
development. Water Resources and Industry, 12: 16.
4 Computer Modeling Applications for Water Treatment
This chapter outlines the concepts used in the design of treatment facilities for both unit operations and
processes. Unit operations are physical in nature, whereas unit processes involve chemical and biological
principles. Each treatment process, whether physical, chemical, or biological or a combination thereof, is
briefly described with an emphasis being placed on the design of the units, applying well-established
formulae, equations, and models that are then used to develop computer programs that can aid in the
various design procedures.
(4.1)
where:
Hs is the resistance for a clogged screen, m of water
H0 is the initial resistance for a clean screen, m
aa is the percentage open area for a clogged screen
a0 is the percentage open area for a clean screen
The development of this head loss will produce a considerable load on the bar screen, which
necessitates an adequate structural design to meet the developing hydraulic load. Frequent cleaning of the
screen openings helps to limit the effects of this hydraulic load. Cleaning of openings keeps the maximum
value of the resistance below a practical value of 0.5 m. In general, two screens should be provided so
that one screen can be shut down, whereas the other is being cleaned or repaired.
4.4 SEDIMENTATION
4.4.1 INTRODUCTION
Sedimentation may be defined as the gravitational settling of suspended particles that are heavier than the
surrounding fluid. The water to be clarified by sedimentation is held in a tank for a considerable period of
time. For tanks with large cross-sectional areas, flow velocities are small. This condition induces a state
of virtual quiescence (Huisman 1977). As such, heavier particles (with a mass density greater than that of
the surrounding fluid) start settling under gravitational forces (a process referred to as sedimentation; see
Figure 4.1). Lighter particles (with a mass density less than that of the surrounding fluid) tend to move
vertically upward (a process denoted as flotation; see Figure 4.1). Accordingly, suspended particles are
retained either in the scum layer (top layer) at the water surface or in the sludge layer at the tank floor
(bottom layer). Removal of settled and floatable particles clarifies the raw water. With the same capacity
and tank volume, long, narrow, and shallow basins have greatest potential for solids removal.
The aims of the sedimentation process include the following:
Best results can be obtained with vertical flow basins, which have large depths and inlet structures that
spread the incoming water equally over the entire tank plan area (Huisman et al 1986, Wang and Hung
2009, Hammer and Hammer 2011, Riffat 2012).
This class of particle settling can be represented by the settling of sand grains in water treatment or the
removal of grit in grit chambers in the field of wastewater treatment.
FIGURE 4.2 Sedimentation tanks: (a) schematic diagram of a rectangular horizontal sedimentation tank;
(b) schematic diagram of a circular sedimentation tank.
Class II: Flocculent settling. Under flocculent settling conditions, particles flocculate during
sedimentation, that is, they experience a change in their size, weight, and shape. The main features of this
class of particle settling include the following: Particles coalesce together or flocculate.
Particles are hindered by their neighbors.
Due to the close proximity of particles, the change in their size is mainly due to particle contact.
Particles increase in mass with depth and settling time.
Particles settle rapidly.
Examples of this class of settling occur in alum or iron coagulation (Davis and Cornwell 2006).
Class III: Hindered (zone) settling. Hindered settling occurs when high-density particles interact, and
individual particles are so close together that the displacement of water by the settling of one affects the
relative settling velocities of its neighbors (Steel and McGhee 1991). With the cross-sectional area of a
settling tank being fixed, the water displaced by the settling particle must flow in the opposite direction to
that of the moving particles. The essential features of this kind of settling include the following:
Settling characteristics of adjacent particles are influenced by existence of interparticle forces.
Moving particles have similar settling velocities.
Settlement occurs for a mass of particles that are able to settle as one unit.
Particles remain in fixed places relative to each other.
Examples of this kind of settling may be encountered in lime-softening tanks, sludge thickeners, and
activated sludge sedimentation (Davis and Cornwell 2006). Compared to the stationary walls of the
sedimentation tank, the settling rate under hindered settling conditions is reduced from a value of v to a
value of v as given by Equation 4.2 (Huisman 1977):
(4.2)
where:
v is the hindered settling velocity, m/s
v is the initial settling velocity of the particle, free settling velocity, m/s
Cv is the volumetric concentration of particles (volume of particles divided by the total volume of the
suspension) = Vparticle/Vsuspension
f is the coefficient that varies with the type of particles
An estimate of the extent to which settling is hindered can also be calculated from Equation 4.3, which is
valid for Reynolds numbers less than 0.2, which is generally the situation with hindered settling (Steel
and McGhee 1991):
(4.3)
where:
v is the hindered settling velocity, m/s
v is the free settling velocity of the particle, m/s
Cv is the volume of particles divided by the total volume of the suspension Class IV: Compression
settling. In this class, the concentration of particles forms a distinct structure. Compression, under the
weight of the particles, governs the settling process. This kind of settling occurs at the bottom of deep
secondary settling tanks and takes place under sludge settling conditions (Metcalf and Eddy 2013).
Usually, more than one type of settling occurs in a sedimentation basin.
(4.4)
where:
v is the settling (terminal) velocity of particle, m/s
g is the gravitational acceleration, m/s2
d is the diameter of spherical particle, m
s.g. is the specific gravity of the particle
The settling velocity of a spherical particle under laminar flow conditions can be expressed by Stokes
law, which is presented in the following equation:
(4.5)
where:
v is the settling (terminal) velocity of particle, m/s
g is the gravitational acceleration, m/s2
d is the diameter of spherical particle, m
s.g. is the specific gravity of the particle = s/
is the density of fluid, kg/m3
s is the particle density, kg/m3
v is the kinematic velocity, m2/s
(4.6)
Example 4.1
1 Write a computer program to determine the settling velocity for spherical discrete particle
settling under different flow conditions (laminar or turbulent). Provide a program to check
the Reynolds number for the computed overflow rate (at different temperatures).
2. Particles are allowed to settle in a settling column test. The particles have a specific gravity
of 1.3 and an average diameter of 0.1 mm. Using Stokes law, determine the settling velocity
of the particles in water (the temperature of the water is 20C).
3. Use the program developed in (1) to verify the computations in (2).
Solution
1 For solution to Example 4.1 (1), see the listing of Program 4.1.
a. Solution to Example 4.1 (2): Given: s.g. = 1.3, d = 0.1 * 103 m.
2.
b.Find the viscosity coefficient from Appendix A1 that corresponds to a temperature of T =
20C as follows: = 1.0087 * 103 N*s/m2 and = 998.2 kg/m3.
c.Use Stokes law to find the settling velocity of the particles, v = *g*d2 (s.g. 1)/(18 * ).
d.Substitute the given values in Stokes equation to find the settling velocity as follows: v =
998.2 * 9.81(0.1 * 103)2(1.3 1)/18 * 1.0087 * 103 = 1.62 * 103 m/s = 1.62 mm/s.
'*********************************************************************************
'Program 4.1: Settling
'computes settling velocity for spherical
'discrete particles
'*********************************************************************************
Public Class Form1
Dim temp(34) As Integer
Dim density(34), viscosity(34) As Double
Const G = 9.81 'gravity constant
Dim Velocity, sg, d, Ro, Mu As Double
Dim T As Integer
'*******************************************************************************
'Fill the tables with default values,
'taken from Appendix A1.
'*******************************************************************************
Private Sub fill_tables()
temp(0) = 5
temp(1) = 6
temp(2) = 7
temp(3) = 8
temp(4) = 9
temp(5) = 10
temp(6) = 11
temp(7) = 12
temp(8) = 13
temp(9) = 14
temp(10) = 15
temp(11) = 16
temp(12) = 17
temp(13) = 18
temp(14) = 19
temp(15) = 20
temp(16) = 21
temp(17) = 22
temp(18) = 23
temp(19) = 24
temp(20) = 25
temp(21) = 26
temp(22) = 27
temp(23) = 28
temp(24) = 29
temp(25) = 30
temp(26) = 31
temp(27) = 32
temp(28) = 33
temp(29) = 34
temp(30) = 35
temp(31) = 36
temp(32) = 37
temp(33) = 38
density(0) = 999.956
density(1) = 999.941
density(2) = 999.902
density(3) = 999.849
density(4) = 999.781
density(5) = 999.7
density(6) = 999.605
density(7) = 999.498
density(8) = 999.377
density(9) = 999.244
density(10) = 999.099
density(11) = 998.943
density(12) = 998.774
density(13) = 998.595
density(14) = 998.405
density(15) = 998.203
density(16) = 997.992
density(17) = 997.77
density(18) = 997.538
density(19) = 997.296
density(20) = 997.044
density(21) = 996.783
density(22) = 996.512
density(23) = 996.232
density(24) = 995.944
density(25) = 995.646
density(26) = 995.34
density(27) = 995.025
density(28) = 994.702
density(29) = 994.371
density(30) = 994.03
density(31) = 993.68
density(32) = 993.33
density(33) = 992.96
viscosity(0) = 1.5188
viscosity(1) = 1.4726
viscosity(2) = 1.4288
viscosity(3) = 1.3872
viscosity(4) = 1.3476
viscosity(5) = 1.3097
viscosity(6) = 1.2735
viscosity(7) = 1.239
viscosity(8) = 1.2061
viscosity(9) = 1.1748
viscosity(10) = 1.1447
viscosity(11) = 1.1156
viscosity(12) = 1.0875
viscosity(13) = 1.0603
viscosity(14) = 1.034
viscosity(15) = 1.0087
viscosity(16) = 0.9843
viscosity(17) = 0.9608
viscosity(18) = 0.938
viscosity(19) = 0.9161
viscosity(20) = 0.8949
viscosity(21) = 0.8746
viscosity(22) = 0.8551
viscosity(23) = 0.8363
viscosity(24) = 0.8181
viscosity(25) = 0.8004
viscosity(26) = 0.7834
viscosity(27) = 0.767
viscosity(28) = 0.7511
viscosity(29) = 0.7357
viscosity(30) = 0.7208
viscosity(31) = 0.7064
viscosity(32) = 0.6925
viscosity(33) = 0.6791
End Sub
Else
Ro = Val(TextBox1.Text)
sg = Val(TextBox2.Text)
d = Val(TextBox3.Text)
Mu = Val(TextBox4.Text)
End If
'compute settling velocity (Stokes law)
Velocity = Ro * G * (d ^ 2) * (sg - 1) / (18 * Mu)
End Sub
Private Sub showResults()
TextBox5.Text = FormatNumber(Velocity, NumericUpDown1.Value).ToString
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click If RadioButton1.Checked Then
'** Check the validity of temp as we will use it
'** to index our tables later in calculateResults()
T = Val(TextBox1.Text)
If T < 5 Or T > 38 Then
MsgBox("Please enter a valid temp. between 5 & 38",
vbOKOnly Or vbInformation)
Exit Sub
End If
End If
calculateResults()
showResults()
End Sub
'*******************************************************************************
'Whenever a different number of decimals is selected, re-show the results.
'*******************************************************************************
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles NumericUpDown1.ValueChanged
showResults()
End Sub
End Class
(4.7)
The settling velocity for a discrete particle that enters the sludge zone at the end of the sedimentation tank
can be determined from the following equation:
(4.8)
where:
vso is the settling velocity of the discrete particle, m/s
h is the depth of tank, m
t is the detention time, s (see Equation 4.9)
V is the volume of tank, m3
Q is the flow rate entering the tank, m3/s
A is the area perpendicular to direction of flow, m2
(4.9)
where:
V is the volume of tank, m3
Q is the flow rate entering the tank, m3/s
Equation 4.8 illustrates that for a discrete particle, the solids removal is independent of the depth of the
sedimentation tank. To account for the less than optimum conditions encountered in practice, the design
settling velocity (vso) obtained from the column test is often multiplied by a factor of 0.650.85 (Metcalf
and Eddy 2013), and the computed detention times are multiplied by a factor of 1.251.5. Efficiently
designed and operated, primary clarifiers remove 50%65% of the total SS and 25%40% of the BOD5
(Riffat 2012).
Example 4.2
1 Write a computer program to compute the removal efficiency and concentration of SS in
effluent, given the relevant column test results.
2. A wastewater treatment plant incorporates four sedimentation tanks for treating a wastewater
flow of 1200 m3/h. Each of the circular sedimentation tanks has a diameter of 21 m. The
settling column test conducted for a sample of the wastewater indicated the data tabulated
below. Determine the SS removal efficiency of the sedimentation units.
Solution
1 For solution to Example 4.2 (1), see the listing of Program 4.2.
a. Solution to Example 4.2 (2): Given: Q = 1200 m3/h, D = 21 m, number of sedimentation
2.
tanks = 4, SS concentrations at different depths for different times.
b.Determine the settling velocity as follows: settling velocity = depth/time = h/t.
c.Find the percentage SS remaining, Cr, in the sample for different time intervals and
sampling ports indicated as follows: Cr = 100 SS concentration removed = 100 (C/C0).
d.Determine the percentage SS with settling velocity less than that stated as follows: X =
Cr/C0, as shown in the tabular form.
e.Plot the percentage SS with settling velocity less than that stated versus settling velocity to
obtain the cumulative frequency distribution curve for the settling particles.
f.Find the flow rate introduced to each tank = total flow/number of tanks = (1200/(60 *
60))/4 = 0.083 m3/s.
g.Compute the surface area of each tank: A = (21)2/4 = 346.4 m2.
h.Determine the surface loading rate for the settling particles: vso = Q/A = 0.083/346.4 = 2.4
* 104 m/s = 0.24 mm/s.
i.From the plotted graph and for a design surface loading of 0.24 mm/s, the value of X0 =
72%.
j.Determine the removal efficiency of the tank by using the following equation:
Depth (mm) Time (s) Velocity (mm/s) SS Remaining (mg/L) SS with v Less Than Stated (%)
200 3600 0.056 89 46.8
200 7200 0.028 24 12.6
200 10,800 0.019 7 3.7
200 14,400 0.014 4 2.1
500 3600 0.139 133 70
500 7200 0.069 105 55.3
500 10,800 0.046 76 40
500 14,400 0.035 66 34.7
1000 3600 0.278 137 72.1
1000 7200 0.139 132 69.5
1000 10,800 0.093 120 63.2
1000 14,400 0.069 104 54.7
1500 3600 0.417 140 73.7
1500 7200 0.208 136 71.6
1500 10,800 0.139 130 68.4
1500 14,400 0.104 124 65.3
2000 3600 0.556 146 76.8
2000 7200 0.278 136 71.6
2000 10,800 0.185 134 70.5
2000 14,400 0.139 133 70
2500 3600 0.694 150 78.9
2500 7200 0.347 140 73.7
2500 10,800 0.231 139 73.2
2500 14,400 0.174 134 705
'*********************************************************************************
'Program 4.2: Removal
'computes percentage of suspended solids in a settling
'tank effluent
'*********************************************************************************
Public Class Form1
Dim timeS, depthS, ssStr As String
Dim Numdepth, Numsampletime, k As Integer
Dim f2 As Form2
For i = 1 To Numsampletime
DataGridView1.Rows.Add(time(i) / 3600)
Next
For i = 1 To Numdepth
DataGridView3.Columns.Add("depth" + i.ToString, depth(i).ToString)
Next
For j = 1 To Numsampletime
DataGridView3.Rows.Add()
DataGridView3.Rows(j - 1).HeaderCell.Value = time(j)
Next
For i = 1 To Numdepth
DataGridView2.Rows.Add(depth(i))
DataGridView2.Rows(i - 1).HeaderCell.Value = time(i)
For j = 1 To Numsampletime
DataGridView3.Rows(j - 1).Cells(i - 1).Value = SS(i, j)
Next
Next
End Sub
Sub calculateResults()
If RadioButton1.Checked Then
Numdepth = Val(TextBox2.Text)
Numsampletime = Val(TextBox1.Text)
'read in sampling times
For i = 1 To Numsampletime
time(i) = Val(DataGridView1.Rows(i - 1).Cells(0).Value)
time(i) = 3600 * time(i) 'time converted to seconds
Next
'obtain depth and SS concentration
For i = 1 To Numdepth
depth(i) = Val(DataGridView2.Rows(i - 1).Cells(0).Value)
'Convert from m to mm
depth(i) *= 1000
For j = 1 To Numsampletime
SS(i, j) = Val(DataGridView3.Rows(j - 1).Cells(i - 1).Value)
Next
Next
End If
'Prepare output form
Try
f2.Label1.Text = "Output results:"
Catch ex As Exception
f2 = New Form2
f2.Label1.Text = "Output results:"
End Try
f2.DataGridView1.Columns.Clear()
f2.DataGridView1.Columns.Add("depthCol", "Depth (mm)")
f2.DataGridView1.Columns.Add("timeCol", "Time (s)")
f2.DataGridView1.Columns.Add("velCol", "Velocity (mm/s)")
f2.DataGridView1.Columns.Add("ssrCol", "Suspended Solids remaining
(mg/L)")
f2.DataGridView1.Columns.Add("sspCol", "Suspended solids with v less
than stated (%)") 'Computations
k = 0
For i = 1 To Numdepth
For j = 2 To Numsampletime
k = k + 1
VELOCITY(k) = depth(i) / time(j)
ssr(k) = SS(i, 1) - SS(i, j)
SSP(k) = ssr(k) / SS(i, 1) * 100
f2.DataGridView1.Rows.Add(FormatNumber(depth(i), 2),
FormatNumber(time(j), 2), _ FormatNumber(VELOCITY(k), 2),
FormatNumber(ssr(k), 2), FormatNumber(SSP(k), 2)) Next
Next
COUNT = k
f2.ShowDialog()
End Sub
Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged If
RadioButton2.Checked Then
loadDefaults()
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
End Sub
Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged If
RadioButton1.Checked Then
DataGridView1.Rows.Clear()
DataGridView2.Rows.Clear()
DataGridView3.Rows.Clear()
DataGridView1.Rows.Add(Numsampletime)
DataGridView2.Rows.Add(Numdepth)
DataGridView3.Rows.Add(Numsampletime)
End If
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TextBox1.TextChanged Dim i As Integer
i = CInt(Val(TextBox1.Text))
If i > Numsampletime Then
'add some rows
DataGridView1.Rows.Add(i - Numsampletime)
ElseIf i < Numsampletime Then
'delete some rows
For j = Numsampletime To i + 1 Step -1
DataGridView1.Rows.RemoveAt(j - 1)
Next
End If
Numsampletime = i
End Sub
Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TextBox2.TextChanged Dim i As Integer
i = CInt(Val(TextBox2.Text))
If i > Numdepth Then
'add some rows
DataGridView2.Rows.Add(i - Numdepth)
ElseIf i < Numdepth Then
'delete some rows
For j = Numdepth To i + 1 Step -1
DataGridView2.Rows.RemoveAt(j - 1)
Next
End If
Numdepth = i
End Sub
End Class
(B) LISTING OF FORM2 (CHAP4.2\FORM2.VB): SETTLING TANK EFFICIENCY
Public Class Form2
Dim Q, D, Q1, a, Vs, IND, sum, RAV, Xr As Double
Dim numTanks As Integer
Dim Kount, Notav As Integer
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.MaximizeBox = False
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.Text = "Calculate"
Label2.Text = "Flow Rate Q (m3/min):"
Label3.Text = "Number of tanks:"
Label4.Text = "Diameter of the tank (m):"
Button1.Text = "&Calculate"
Button2.Text = "Close"
Me.CancelButton = Button2
Me.AcceptButton = Button2
TextBox4.Multiline = True
TextBox4.Text = ""
TextBox4.Height = 85
End Sub
Sub calculateResults()
Q = Val(TextBox1.Text)
numtanks = Val(TextBox2.Text)
D = Val(TextBox3.Text)
'flow in m3/sec
Q = Q / (60 * 60)
'flow per tank
Q1 = Q / numTanks
'surface are of a tank
a = pi * (D ^ 2) / 4
'surface loading rate for settling particles mm/s
Vs = Q1 * 1000 / a
'search for an estimate for SS corresponding to Vs
Call integrate(COUNT, Vs)
End Sub
Sub integrate(ByVal N, ByVal Vs)
'****************************************************************************
Dim X(N), Y(N), X1(N), X2(N), Y2(N)
Dim last As Integer
Dim I As Integer
Dim SS As Double
For I = 1 To N
X(I) = VELOCITY(I)
Y(I) = SSP(I)
Next I
'sort out equations based on x values
For I = 1 To N : X1(I) = X(I) : Next I
For I = 1 To N
Call MIN(X1, N, IND)
X2(I) = X(IND)
Y2(I) = Y(IND)
X1(IND) = 20000000000.0
Next I
For I = 1 To N
X(I) = X2(I)
Y(I) = Y2(I)
Next I
'remove repeated equations
kount = 1
X2(1) = X(1)
For I = 2 To N
If X(I) <> X(I - 1) Then
Kount = kount + 1
X2(kount) = X(I)
Y2(kount) = Y(I)
End If
Next I
'Search for SS corresponding to velocity Vs
Notav = 0
For I = 1 To Kount
If Vs = X2(I) Then
SS = Y2(I)
GoTo jmp
End If
If Vs < X2(I) Then
If I = 1 Then SS = Y2(1)
If I = Kount Then SS = Y2(Kount)
If I > 1 And I < Kount Then SS = 0.5 * (Y2(I) + Y2(I + 1))
GoTo jmp
End If
Next I
notav = 1
jmp: 'CONTINUE
last = I
If Notav = 1 Then
TextBox4.Text = "Velocity out of range, No solution found!!!!"
Exit Sub
End If
TextBox4.Text = "Corresponding SS% TO Vs = " + FormatNumber(Vs, 4) + "
Is SS% = " + FormatNumber(SS, 4) 'FIND THE INTEGRATION OF VDX BY TRAPEZOIDAL
RULE
sum = 0.5 * Y2(1) * X2(I)
For I = 1 To last - 1
'INTEGRATION OF VDX
sum += 0.5 * (X2(I) + (X2(I + 1)) * (Y2(I + 1) - Y2(I)))
Next I
sum /= 10000
TextBox4.Text += vbCrLf + "The integral part vdx = " + FormatNumber(sum,
4)
RAV = sum / (Vs / 1000)
'REMOVAL EFFICIENCY
Xr = 100 - SS + RAV
TextBox4.Text += vbCrLf + "Removal efficiency of the tank = " +
FormatNumber(Xr, 2) + " %"
End Sub
Sub MIN(ByRef X(), ByRef N, ByRef IND)
Dim XMIN = 10000000000.0
For I = 1 To N
4.4.6.1 Turbulence
With turbulent flow, transverse velocity components exist. This condition scatters the discrete particles
and reduces the efficiency of the tank. The horizontal flow occurs under laminar flow conditions when
Reynolds numbers (Re) are less than 5802000, depending upon the following: The construction of the
inlet zone
The kind and condition of the sludge removal equipment
The presence of columns, cross beams, and rough walls
The other obstacles that might interfere with the flow
Reynolds numbers signify the ratio between inertial forces and viscous forces. It can be shown that
Reynolds number may be expressed as shown in the following equation (see Figure 4.5):
(4.10)
where:
Re is the Reynolds number
rH is the hydraulic radius [= A/wp = B*h/(B + 2*h)], m A is the area perpendicular to horizontal flow,
m2
wp is the wetted perimeter, m
v is the kinematic viscosity (= /), m2/s
is the dynamic (absolute) viscosity, N*s/m2
is the density, kg/m3
vH is the velocity of horizontal water movement [= Q/(B*h)], m/s vs is the settling rate, displacement
velocity, loading rate, overflow rate(=Q/Bl), m/s Q is the flow rate, m3/s
B is the tank width, m
h is the tank depth, m
l is the length of tank, m
Therefore, to prevent reduction in basin efficiency by turbulence and bottom scour, the tank must be short,
wide, and deep. Equation 4.11 can be used to evaluate Re numbers for various tank conditions as follows:
(4.11)
(4.12)
where:
vsco is the scour velocity, m/s
vs is the settling velocity, m/s
g is the gravitational acceleration, m/s2
s is the density of the particle, kgm3
is the density of fluid, kgm3
(4.13)
The reduction in settling basin efficiency by scour does not create problems as far as the design settling
velocity is considered, as long as it is less than the scour velocity (i.e., vso < vsco). The ratio between the
horizontal water velocity and the settling velocity in a rectangular horizontal flow basin can be calculated
from the following equation:
(4.14)
Equation 4.15 gives the ratio between the length of the tank and its depth:
(4.15)
Resuspension of settled matter can be hindered by using baffles. Figure 4.6 illustrates a sketch of round-
the-end baffles.
Tank stability can be approached by increasing the ratio between inertia forces and gravity forces, that
is, Froude number. The Froude number, for a rectangular horizontal flow basin, can be expressed
mathematically as presented in the following equation:
(4.16)
where:
Fr is the Froude number, dimensionless
vH is the average displacement velocity, m/s
g is the gravitational acceleration, m/s2
rH is the hydraulic radius, m
Q is the flow rate, m3/s
B is the breadth of the basin, m
h is the tank depth, m
vs is the settling velocity, m/s
l is the length of the tank, m
High Froude numbers can be achieved if one or all of the following conditions are considered:
Increasing the incoming flow to the tank
Reducing the width of the sedimentation tank (narrower tank)
Reducing the depth of tank (shallower basin)
Increasing the length of the basin (longer tank)
High Froude numbers are described but should not be so high as to endanger the basin efficiency by
turbulence or bottom scour. Froude numbers should satisfy the parameters in Equation 4.17. They are
empirical in nature and are based on experimental finding used in designing a settling tank (Huisman
1977).
(4.17)
Baffles guide and regulate the water flow; any structural material (e.g., wood) may be used for
construction of baffles, as the water pressures on both sides of the baffles are the same.
Example 4.3
1 Write a computer program that can be used to check the stability and effects of turbulence
(Froude and Reynolds numbers) in a settling basin for horizontal water movement, given the
flow rate (m3/s), tank dimensions, and temperature.
2. A suspension enters a horizontal sedimentation tank at a flow rate of 6 m3/min. The tank is 4
m wide, 10 m long, and 1.5 m deep. Compute, under ideal settling conditions, the values for
the Froude and the Reynolds numbers for the settling basin, given that the kinematic viscosity
of the water is 1.004 * 106 m2/s.
Solution
1 For solution to Example 4.3 (1), see the listing of Program 4.3.
a. Solution to Example 4.3 (2): Given: Q = 6/60 = 0.1 m3/s, B = 4 m, l = 10 m, h = 1.5 m,
2.
kinematic viscosity = 1.004 * 106 m2/s.
b.Determine the hydraulic radius as follows: TH = A/wp = B * h/[B + 2 * h] = 4 * 1.5/(4 + 2
* 1.5) = .857 m.
c.Find the displacement or horizontal tank velocity as follows: VH = Q/B*h = 0.1/4*1.5 =
0.017 m/s.
d.Determine Froudes number for horizontal water movement as follows: Fr = vH2/g * rH.
Fr = (0.017)2/(9.81 * 0.857) = 3.3 * 105. This value is > 105; thus, it is all right.
e.Find the Reynolds number for the horizontal water movement as follows: Re = vH * rH/v =
0.017 * 0.857/1.004 * 106 = 14,229, which is > 2000, which is not all right. To remedy
this situation and avoid erratic tank behavior, baffles should be introduced.
'*********************************************************************************
'Program 4.3: Turbulence
'Checks the stability and effects of turbulence
'*********************************************************************************
Public Class Form1
Dim Q, B, h, L, u As Double
'acceleration due to gravity
Const g = 9.81
(4.18)
where:
A is the surface area, m2
Q is the amount of water to be treated, m3/s
vso is the design surface loading to be applied, m/s
Depth of tank may be computed from the following relationship:
For circular tanks:
(4.19)
(4.20)
The ratio of length of the tank to its width can be calculated from the following empirical equation:
(4.21)
The flow rate per unit length (weir loading) must not be too high. This is to prevent disturbing the
settling of suspended matter near the end of the tank. Settling near the end of the tank occurs due to
updraft velocities created at the weir discharge. The allowable weir loading is given by the
following equation:
(4.22)
where:
Q is the flow rate, m3s
B is the width of the tank, m
h is the depth of the tank, m
vso is the overflow rate, m/s
With vso = Q/B*l, this requirement is fulfilled in case the ratio of tank length to its depth falls
below a value of 5, as shown in the following equation:
(4.23)
where:
l is the length of the tank, m
h is the depth of the tank, m
where:
hi is the sampling port depth i, m
ht is the height of the proposed tank, m
RT is the total removal, %
(4.25)
where:
V is the volume of the tank, m3
Q is the design flow, m3/day
t is the detention time of tank, days (usually taken as 1.52 h for maximum flow)
The minimum number of tanks is 2.
The length:width ratio may be taken as follows (Water Environment Federation 2009):
(4.26)
where:
l is the length of the tank, m
b is the width of the tank, m
The length:depth ratio may be taken as (Water Environment Federation 2009) follows:
(4.27)
(4.28)
where:
Vh is the sludge volume, m3
Q is the maximum daily flow rate, m3/d
C0 is the initial concentration of SS influent to tank, kg/m3
Eff is the percentage of SS removal
m.c. is the moisture content of settled sludge, %
is the density of sludge, kg/m3
where:
b is the diameter of circular deflector (may be taken as b 0.15 * D), m (Lin 2014) D is the
diameter of the circular tank, m
Assuming a single weir in tank: surface loading * area = weir loading * length.
(4.30)
where:
D is the diameter of the tank, m
b is the diameter of the deflector, m
vs is the surface loading rate, m/day
qweir is the weir loading (overflow rate), m3/day/m length Taking
(4.31)
Then,
(4.32)
where:
N is the number of settling tanks, dimensionless
A is the effective area of settlement, m2:
(4.33)
Thus,
(4.34)
Slope of settling tank bottom, , may be taken as = 6%8% (or 510o13).
Slope of sludge hopper, , may be taken as = 2:112 (60o13).
Detention time may be taken as 2 h at peak flow.
Volume of sludge hopper is to hold 1224 h of sludge production, and it may be determined as
follows:
(4.35)
where:
Vh is the volume of sludge hopper, m3
Q is the flow rate, m3/day
C0 is the concentration of solids entering sedimentation tank, kg/m3
Eff is the efficiency of solids removal in tank, dimensionless
a is the fraction of flow to be stored in hopper (as sludge)
Cc is the solids content of final sludge, kg/m3, which is equal to (1 m.c.)*1000, where m.c. is
the moisture content of sludge (dimensionless)
Considering hopper as a truncated cone, then
(4.36)
where:
d is the diameter of hopper base (tank floor), m
h is the hopper imaginary depth (depth of total cone), m
d is the diameter of truncated cone (hopper floor), m
h is the depth of truncated cone, m
(4.37)
As such:
(4.38)
Example 4.4
1 Write a computer program for the hydraulic and structural design of a circular sedimentation
tank, given the relevant design data of rate of flow, Q (m3/s); loading rate, vs (m3/h/m2);
influent solids concentration, C0 (kg/m3); tank efficiency, Eff (%); sludge moisture content,
m.c. (%); sludge production that can be stored by the sludge hopper; weir loading (overflow
rate), qweir (m3/day/m weir length); retention time, t (s) at peak flow; and bottom radius
(truncated radius), d (m).
a. Design a circular sedimentation tank using the following information: Rate of flow, Q = 15
2.
m3/min.
b.Loading rate (settling velocity), vs = 1.4 m3/h/m2
c.Influent solids concentration, C0 = 250 mg/L
d.Tank efficiency, Eff = 55%
e.Sludge moisture content, m.c. = 96%
f.g.Size of sludge hopper sufficient to hold 12 h sludge production Weir loading (overflow
h.rate), qweir = 200 m3/day/m Retention time, t = 2 h at peak flow
i.Bottom radius (truncated radius), d = 0.5 m
Solution
1 For solution to Example 4.4 (1), see the listing of Program 4.4.
2. Solution to Example 4.4 (2):
a.Determine the diameter of tank using the following:
b.Determine the required number of sedimentation tanks: Flow from each tank
'*********************************************************************************
'Program 4.4: Tanks
'designs a circular sedimentation tank
'*********************************************************************************
Public Class Form1
Const pi = 3.142857
Dim Q, Vs, Co, Eff, mc, tr, Qweir, t, rdash As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 4.4: Designs a
circular sedimentation tank"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Button1.Text = "&Calculate"
Label1.Text = "Enter flow rate (m3/min):"
Label2.Text = "Enter loading rate (m3/hr/m2):"
Label3.Text = "Enter influent solids concentration (mg/L):"
Label4.Text = "Enter tank efficiency (%):"
Label5.Text = "Enter sludge moisture content (%):"
Label6.Text = "Enter period to maintain sludge in hopper (hr):"
Label7.Text = "Enter weir loading rate (m3/d/m):"
Label8.Text = "Enter retention time at peak flow (hr):"
Label9.Text = "Enter bottom radius (m):"
GroupBox1.Text = " Output: "
4.5.1 INTRODUCTION
In water and wastewater treatment, flocculation and coagulation processes are mainly used for the
removal of colloidal substance that causes color and turbidity. In relatively dilute solutions, some
particles do not behave as discrete particles but rather they coalesce and combine during settling. As
coalescence or flocculation occurs, the mass and settling velocity of the particle increase. The rate of
flocculation depends on the opportunity for contact between particles. The factors that influence this
process include surface loading, depth of settling tank, velocity gradients, and concentration and size of
particles.
To enhance the process of flocculation and coagulation, a small dose of a coagulant (e.g., aluminum or
ferric salts) is added to the raw water, after which flocs of coagulated colloidal matter are formed. This
enables separation of particles from the fluid by sedimentation and/or filtration. The needed coagulant
dose varies with the nature of the suspension. Flocculation occurs at the end of the coagulation phase. It
consists of the building up and increases in the flocs with or without the use of flocculation aids or other
chemical substances. The major factors that affect and influence the coagulation process include chemical
factors (such as the optimum pH; inorganic ions; character of turbidity; nature, type, and concentration of
the colloids involved; and type of coagulant) and physical parameters (such as temperature, mixing speed
and duration of mixing, and size of colloidal particles).
(4.39)
where:
ZP is the zeta potential
B is the thickness of the boundary layer
q + is the charge on the colloid
DI is the dielectric constant
Electrophoretic mobility (EM) refers to the rate of movement of a particle to an electrode under a given
electrical potential. For natural water, EM ranges between 2 * 104 and 4 * 104 m/s/V/cm. Generally, the
higher the ionic strength, the lower the ZP. The usual technique for measurement of electrophoretic
mobility involves a microscopic viewing of the particle motion under the influence of an electric field.
Electrophoretic mobility can be calculated by using the following equation (Ortega-Rivas 2011):
(4.40)
where:
EM is the electrophoretic mobility, m/s/V/cm
y is the distance covered in t s, m
A is the cross-sectional area, cm2
i is the current, A
RESs is the specific resistance of the suspension, *cm
(4.41)
where:
ZP is the zeta potential
is the absolute viscosity, N*s/m2
EM is the electrophoretic mobility, m/s/V/cm
DI is the dielectric constant
Example 4.5
Write a short computer program that can be used to determine the ZP and electrophoretic mobility,
given viscosity, dielectric constant, cross-sectional area, current density, specific resistance of the
suspension, thickness of the boundary layer, and charge on the colloid. Use the relevant equation in
each case.
Solution
For solution to Example 4.5, see the listing of Program 4.5.
'*********************************************************************************
'Program 4.5: Coagulation
'computes the electrokinetics of coagulation
'*********************************************************************************
Public Class Form1
Const pi = 3.14152654
Dim u, Di, A, i, Rs, B, q As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 4.5: Computes the
electrokinetics of coagulation"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Viscosity coefficient (N*s/m2):"
Label2.Text = "dielectric constant:"
Label3.Text = "Cross sectional area (cm2):"
Label4.Text = "Current density (A):"
Label5.Text = "The specific resistance (*cm):"
Label6.Text = "Thickness of boundary layer:"
Label7.Text = "Charge on the colloid:"
groupbox1.text = " Output: "
Label8.Text = "Zeta potential:"
Label9.Text = "Electrophoretic mobility (/s/V/cm):"
Button1.Text = "&Calculate"
End Sub
Sub calculateResults()
u = Val(TextBox1.Text)
Di = Val(TextBox2.Text)
A = Val(TextBox3.Text)
i = Val(TextBox4.Text)
Rs = Val(TextBox5.Text)
B = Val(TextBox6.Text)
q = Val(TextBox7.Text)
Dim zp, EM As String
'zeta potential
zp = 4 * pi * B * q / Di
'EQUATION: EM = y*A/(t*i*Rs)
'electrophoretic mobility
EM = zp * Di / (4 * pi * u)
textbox8.text = zp.ToString
textbox9.text = EM.ToString
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
End Sub
End Class
1 Flow rate
3. Flocculation time (residence time) in the range of 1530 min Power input per unit volume
2.
4. (usually from 0.5 to 1.5 kWh/m3) Mean velocity gradient: for quick circulation in the system, the
velocity gradient lies between 20 and 75 s1. Equation 4.42 shows the relationship between the
velocity gradient and the power:
(4.42)
where:
POWv is the power input per unit volume, W/m3
G is the velocity gradient, s1
When impellers are used, velocity gradient may be calculated from the following equation:
(4.43)
where:
G is the velocity gradient, s1
g is the gravitational acceleration, m/s2
is the impeller rotation, number of rotations/min
TOR is the net torque input, dyne/cm
V is the volume, m3
is the dynamic viscosity, N*s/m2
5. The power (kW) requirement to be of values:
(4.44)
6. Depth:
(4.45)
7. Surface area:
(4.46)
(4.47)
where:
POW is the power needed for driving the paddle through the fluid, J/s
is the fluid density, kg/m3
CD is the drag coefficient
A is the paddle area, m2
v is the velocity of paddle relative to fluid, m/s
The velocity gradient initiated as a result of the input power is given by the following equation:
(4.48)
where:
G is the velocity gradient, s1
is the viscosity, N*s/m2
V is the tank volume, m3
The generally accepted design standard requires that G should be between 30 and 60 s1 (Pepper and
Gerba 2006). Time is also an important variable in flocculation. The term G*t often is used in the design
(t = hydraulic retention time in a flocculator). Typical G*t values range from 1 * 1014 to 1 * 105 (Pepper
and Gerba 2006).
Example 4.6
1 Write a computer program to determine the power needed for a flocculator system and the
area of the paddle required for effective flocculation, given temperature, coefficient of drag
for rectangular paddles, paddle tip velocity, velocity gradient, flocculator volume, and the
relative velocity of the paddle.
2. A treatment plant incorporates coagulation and sedimentation processes. The existing
flocculator has the following properties:
Value
Item
Fluid temperature (T) 20C
Coefficient of drag for rectangular paddles (CD) 1.8
Paddle tip velocity (vp ) 0.7 m/s
Velocity gradient (G) 70 s
Flocculator volume (V) 4000 m3
1 For solution to Example 4.6 (1), see the listing of Program 4.6.
a. Solution to Example 4.6 (2): Given: T = 20C, G = 70 s, V = 4000 m3, vp = 0.7 m/s, CD = 1.8.
2.
b.Find the viscosity and density from Table A.1 for a temperature of 20C as follows: viscosity
= 1.002 * 103 N*s/m2 and density = 998.2 kg/m3.
c.Determine the theoretical power requirements as follows: POW = * G2 * V.
d.Substitute the values given in the previous equation: POW = 1.002 * 103*(70)2 * 4000 =
19.6 kW.
e.Determine the velocity of the paddle: v = 0.75 * 0.7 = 0.525 m/s.
f.Find the required paddle area, A, as follows: A = 2*POW/CD * * v3 = (2 * 19.6 * 103)/[1.8 *
998.2 * (0.525)3] = 151 m2.
'*********************************************************************************
'Program 4.6: Coagulation 2
'computes the power needed for a flocculator system
'*********************************************************************************
Public Class Form1
Const pi = 3.141592654
Dim Cd, vp, G, v, Rv As Double
Dim T As Integer
Dim mu, Rho As Double
Dim density(34), viscosity(34) As Double
Dim temp(34) As Integer
'*******************************************************************************
'Fill the tables with default values,
'taken from Appendix A1.
'*******************************************************************************
Private Sub fill_tables()
temp(0) = 5
temp(1) = 6
temp(2) = 7
temp(3) = 8
temp(4) = 9
temp(5) = 10
temp(6) = 11
temp(7) = 12
temp(8) = 13
temp(9) = 14
temp(10) = 15
temp(11) = 16
temp(12) = 17
temp(13) = 18
temp(14) = 19
temp(15) = 20
temp(16) = 21
temp(17) = 22
temp(18) = 23
temp(19) = 24
temp(20) = 25
temp(21) = 26
temp(22) = 27
temp(23) = 28
temp(24) = 29
temp(25) = 30
temp(26) = 31
temp(27) = 32
temp(28) = 33
temp(29) = 34
temp(30) = 35
temp(31) = 36
temp(32) = 37
temp(33) = 38
density(0) = 999.956
density(1) = 999.941
density(2) = 999.902
density(3) = 999.849
density(4) = 999.781
density(5) = 999.7
density(6) = 999.605
density(7) = 999.498
density(8) = 999.377
density(9) = 999.244
density(10) = 999.099
density(11) = 998.943
density(12) = 998.774
density(13) = 998.595
density(14) = 998.405
density(15) = 998.203
density(16) = 997.992
density(17) = 997.77
density(18) = 997.538
density(19) = 997.296
density(20) = 997.044
density(21) = 996.783
density(22) = 996.512
density(23) = 996.232
density(24) = 995.944
density(25) = 995.646
density(26) = 995.34
density(27) = 995.025
density(28) = 994.702
density(29) = 994.371
density(30) = 994.03
density(31) = 993.68
density(32) = 993.33
density(33) = 992.96
viscosity(0) = 1.5189
viscosity(1) = 1.4727
viscosity(2) = 1.4289
viscosity(3) = 1.3874
viscosity(4) = 1.3479
viscosity(5) = 1.3101
viscosity(6) = 1.274
viscosity(7) = 1.2396
viscosity(8) = 1.2069
viscosity(9) = 1.1757
viscosity(10) = 1.1457
viscosity(11) = 1.1168
viscosity(12) = 1.0889
viscosity(13) = 1.0618
viscosity(14) = 1.0357
viscosity(15) = 1.0105
viscosity(16) = 0.9863
viscosity(17) = 0.9629
viscosity(18) = 0.9403
viscosity(19) = 0.9186
viscosity(20) = 0.8976
viscosity(21) = 0.8774
viscosity(22) = 0.8581
viscosity(23) = 0.8395
viscosity(24) = 0.8214
viscosity(25) = 0.8039
viscosity(26) = 0.7871
viscosity(27) = 0.7708
viscosity(28) = 0.7551
viscosity(29) = 0.7399
viscosity(30) = 0.7251
viscosity(31) = 0.7109
viscosity(32) = 0.6971
viscosity(33) = 0.6839
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 4.6: Computes the
power needed for a flocculator system"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Fluid temperature T (Centigrade):"
Label2.Text = "Drag coefficient Cd:"
Label3.Text = "Paddle tip velocity Vp (m/s):"
Label4.Text = "Velocity gradient G (s):"
Label5.Text = "Flocculator volume V (m3):"
Label6.Text = "Relative velocity of the paddle (%):"
Label7.Text = "Power needed for the system POW (W):"
Label8.Text = "Area of the paddle required:"
Button1.Text = "&Calculate"
GroupBox1.Text = " Output: "
fill_tables()
End Sub
'*******************************************************************************
'Search the table of densities to find
'appropriate density according to the given temp.
'*******************************************************************************
Function find_rho(ByVal t As Integer) As Double
If t < 5 Or t > 38 Then Return 0
For i = 0 To 32
If temp(i) = t Then Return density(i)
If temp(i) > t And temp(i + 1) < t Then Return density(i)
Next
If temp(33) = t Then Return density(33)
'no matches found?
Return 0
End Function
'*******************************************************************************
'Search the table of viscosities to find
'appropriate viscosity according to the given temp.
'*******************************************************************************
Function find_mu(ByVal t As Integer) As Double
If t < 5 Or t > 38 Then Return 0
For i = 0 To 32
If temp(i) = t Then Return viscosity(i) / 1000
If temp(i) > t And temp(i + 1) < t Then Return viscosity(i) / 1000
Next
If temp(33) = t Then Return viscosity(33) / 1000
'no matches found?
Return 0
End Function
Sub calculateResults()
T = Val(TextBox1.Text)
Cd = Val(TextBox2.Text)
vp = Val(TextBox3.Text)
G = Val(TextBox4.Text)
v = Val(TextBox5.Text)
Rv = Val(TextBox6.Text) / 100
mu = find_mu(T)
Rho = find_rho(T)
If mu = 0 Or Rho = 0 Then
MsgBox("Please enter valid temp. between 5 and 38.",
vbOKOnly Or vbInformation)
Exit Sub
End If
Dim POW, vp1, A As Double
'power requirement
POW = mu * G ^ 2 * v
'velocity of the paddle
vp1 = Rv * vp
'required paddle area
A = 2 * POW / (Cd * Rho * vp1 ^ 3)
TextBox7.Text = POW.ToString
TextBox8.Text = A.ToString
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
End Sub
End Class
There are many types of aerators such as gravity aerators (e.g., weir aeration and cascades, inclined
plane, and vertical stacks of perforated pans or tower cascades), spray aerators, air diffusers (bubble
aeration), and mechanical aerators. The factors that influence the solubility of a gas in water include the
nature of the gas, the concentration of the respective gas in the gas phase (i.e., as related to partial
pressure of gas in gas phase), the temperature of the water (Cs decreases as T increases), and the level of
impurities contained in the water (Cs decreases with an increase in the impurities).
The higher the gas concentration in the gaseous phase, the greater the saturation concentration in the
liquid phase. The saturation concentration can be determined by using Henrys law as presented in the
following equation:
(4.49)
where:
Cs is the saturation concentration, g/m3
KD is the distribution coefficient
MW is the molecular weight of the gas
P is the partial pressure of the respective gas in the gas phase, Pa
R is the universal gas constant (8314.3 J/kg*mol)
T is the absolute temperature, K
kH is the Henrys constant, g/m3*Pa, g/J (=KD*MW/R*T) Solubilities also can be estimated by the
Bunsen absorption coefficient, as shown in Equation 4.50:
(4.50)
where:
Kb is the Bunsen absorption coefficient, g/J (=KDT0T) T0 is the standard temperature, C
During the process of gas transfer from the gas phase into water, the concentration in the gas phase is
decreased. This decrease is due to the absorption of the gas into the liquid phase (process of diffusion,
i.e., the tendency of any substance to spread uniformly throughout the space available to it). Some of the
theories describing the mechanism of gas transfer include film, penetration, surface renewal, and film
surface renewal.
In some gas transfer operations (e.g., cascades, weir aeration), the efficiency coefficient for the system
may be calculated as presented in the following equation (Mueller et al. 2002):
(4.51)
where:
Ce is the effluent concentration, g/m3
C0 is the influent concentration, g/m3
K is the efficiency coefficient of the system
Cs is the saturation concentration, g/m3
For a cascade aerator, Equation 4.52 can be used to calculate the gas saturation concentration in the liquid
phase:
(4.52)
where:
Cs is the saturation concentration, g/m3
CN is the effluent concentration from step N of the cascade aerator, g/m3
C0 is the influent concentration, g/m3
kN is the efficiency coefficient of the system
N is the number of steps of the cascade aerator
Example 4.7
1 Write a computer program that can be used to determine the efficiency coefficient for a one-
step cascade aerator. Also include in the program the procedure to calculate the
concentration of gases sorbed into an N-step cascade aerator.
2. Water at a temperature of 20C has an oxygen content of 15% saturation with zero chloride
concentration. A cascade aerator is to be used. The cascade aerator is composed of three
steps. Each step can raise the oxygen content of an anaerobic water to 40% saturation.
Estimate the oxygen concentration of the effluent from a three-step cascade aerator.
Use the computer program developed in (1) to verify the solution of the problem presented
3. in(2).
Solution
1 For solution to Example 4.7 (1), see the listing of Program 4.7.
a. Solution to Example 4.7 (2): Given: influent concentration C0 = 0.15 * Ce, T = 20C, C0 for
2.
each step = 0, Ce for each step = 0.4 * Cs, N = 3 steps.
b.Find the saturation concentration from Table A.2 corresponding to temperature of 20C as
follows: Cs = 9.2 mg/L.
c.Determine the initial concentration of water as follows: C0 = 0.15 * 9.2 = 1.38 mg/L.
d.Find the efficiency coefficient for each step as follows: K = (Ce C0)/(Cs C0) = (0.4(Cs
0)/ (Cs 0) = 0.4.
e.iFind the effluent oxygen concentration from each step of the three-step aerator as follows:
Ce1 = C0 + K*(Cs C0) = 1.38 + 0.4* (9.2 1.38) = 4.508 mg/L.
ii Ce2 = Ce1 + K*(Cs Ce1) = 4.508 + 0.4*(9.2 4.508) = 6.385 mg/L.
iii Ce3 = Ce2 + K*(Cs Ce2) = 6.385 + 0.4*(9.2 6.385) = 7.51 mg/L.
f.Otherwise (Cs CN)/(Cs C0) = (1 k=)N and (9.2 Ce3)/(9.2 1.38) = (1 0.4)3, which
yields Ce3 = 7.51 mg/L.
'*********************************************************************************
'Program 4.7: Cascade
'Computes the efficiency coefficient
'of a cascade aerator
'*********************************************************************************
Public Class Form1
Dim Ce(20)
Const gammaw = 9.806 'KN/m3
Sub calculateResults()
n = Val(textbox1.text)
T = Val(TextBox2.Text)
If T < 0 Or T > 30 Then
MsgBox("Enter Temperature between 0 and 30", vbOKOnly Or
vbInformation)
Exit Sub
End If
PCo = Val(textbox3.text)
Cc = Val(textbox4.text)
ps = Val(textbox5.text)
Dim Ce1, Cs_val, Co, K As Double
'get saturation concentration at temperature T
Cs_val = Cs(T)
textbox6.text = ""
If PCo > 1 Then PCo = PCo / 100 'convert percentage to ratio
If PS > 1 Then PS = PS / 100 'convert percentage to ratio
Co = 0
Ce1 = ps * Cs_val
K = (Ce1 - Co) / (Cs_val - Co) 'for each step
'compute effluent oxygen concentration for each step
Ce(0) = PCo * Cs_val 'initial concentration of water
For i = 1 To N
Ce(i) = Ce(i - 1) + K * (Cs_val - Ce(i - 1))
textbox6.text += "Effluent oxygen concentration for step" + i.ToString
+ " = " + Ce(i).ToString _
+ " mg/L" + vbCrLf
Next i
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
End Sub
End Class
4.7 FILTRATION
4.7.1 INTRODUCTION
Filtration is a process used for separating suspended or colloidal impurities from a liquid by passing the
liquid through a porous medium (Davis and Cornwell 2006). Filtration objectives include the following
(Rowe and Abdel-Magid 1995): Partial removal of SS and colloidal solids
Alteration of chemical properties of constituents
Reduction in the number of disease-causing agents
Reduction of color, tastes, and odor
Removal of iron and manganese
Effective filtration depends upon several mechanisms, which include mechanical sieving or straining,
precipitation, adsorption, chemical actions, and biological processes (Huisman 1977, IRC Rep. Intl.
Appraisal Meeting 1981, Van Dijk and Oomen 1982, Huisman et al 1986, Rowe and Abdel-Magid 1995,
Logsdon 2008, Viessman et al 2008, Hammer and Hammer 2011, Metcalf and Eddy 2013, Pescod,
Abouzaid and Sundaresan).
The porous media preferred for filtration must be (Rowe and Abdel-Magid 1995)
Inexpensive.
Readily available in sufficient quantities.
An inert material.
Easily cleaned for reuse.
Able to withstand existing pressures.
Examples of suitable materials used as filter media include ordinary sand, anthracite coal, broken stones,
glass beads, plastic substances, concrete, diatomaceous earth, and so on.
In water treatment, sand filters are often used. Sand filters can be classified as single media, dual
media, or multimedia filters. Also, they can be classified according to their allowable loading rate, such
as slow or rapid sand filters. Another classification is based on water movement through the filter, such
as gravity or pressure filters.
Table 4.1 provides a general comparison between slow and rapid sand filters.
TABLE 4.1
Comparison of Rapid and Slow Sand Filters
Source: Rowe, D. R. and Abdel-Magid, I. M., Handbook of Wastewater Reclamation and Reuse, CRC Press/Lewis Publishers, Boca
Raton, FL, 1995. With permission.
SS, suspended solids; RSF, rapid sand filter; NTU, neplometric turbidity unit; Q, flow.
Example 4.8
1. Write a computer program to find the required number of filters to be used, the filtration
area, and the required area for each filter, given the filtration rate and the amount of water to
a. be filtered when using Slow sand filters.
b.Rapid sand filters.
2. A sedimentation tank effluent is applied to rapid sand filters at a rate of 20 m3/min. The rate
a. of filtration is to be 200 m3/m2/day. Calculate the following: Required number of filters
b.Total filtration area
c.Unit area of each filter
3. Use the program developed in (1) to verify the results obtained in (2).
Solution
1 For solution to Example 4.8 (1), see the listing of Program 4.8.
a. Solution to Example 4.8 (2): Given: Q = 20 m3/min, vf = 200 m/day.
2.
b.Find the required number of filters needed by using the empirical equation: N = 12 *
(Q)1/2 = 12 * (20/60)1/2 = 7 filters (take nine filters, two to serve as standby).
c.Determine the total filtration surface area as follows: A = Q/vf = 20 * 60 * 24/200 = 144
m2.
d.Compute the unit filter area for each filter as follows: An = A/(N 2) = 144/(9 2) = 20.6
m2.
'*********************************************************************************
'Program 4.8: Filters
'computes number of filters, filtration area, and filter areas
'*********************************************************************************
Public Class Form1
Dim Q, Vf As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 4.8: computes number
of filters, filtration area, and filter areas"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
label1.text = "Enter rate of flow in m3/min:"
label2.text = "Enter the rate of filtration in m3/m2/day:"
label3.text = "Select the type of the filter:"
radiobutton1.text = "Slow"
radiobutton2.text = "Rapid"
RadioButton1.Checked = True
textbox3.multiline = True
textbox3.height = 100
GroupBox1.Text = " Output: "
Button1.Text = "&Calculate"
End Sub
Sub calculateResults()
Q = Val(textbox1.text)
Vf = Val(textbox2.text)
Q = Q / 60 'm3/s
Dim N, Nadd, N1 As Integer
Dim A, An As Double
If radiobutton1.checked Then
N = Math.Ceiling(12 * (Q ^ 0.5))
Else
N = Math.Ceiling(15 * (Q ^ 0.5))
End If
'stand by filters
If N > 3 Then Nadd = 2 Else Nadd = 1
'adding standby filters
N1 = N + Nadd
'Q per day
Q = Q * 3600 * 24
'total filtration surface area
A = Q / Vf
'unit filter area for each filter
An = A / N
TextBox3.Text = "The number of filters needed: " + N.ToString
textbox3.text += " filters + " + Nadd.tostring + " standby = " +
N1.tostring
textbox3.text += vbCrLf + "Total filtration surface area (m2): " +
A.tostring
TextBox3.Text += vbCrLf + "Unit filter area for each filter (m2): " +
An.ToString
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
End Sub
End Class
(4.53)
where:
hL is the head loss through the filter, m
f is the friction factor, dimensionless, which is given as follows:
(4.54)
where:
l is the filter depth, m
e is the porosity of bed, dimensionless
vf is the filtration velocity, m/s
is the shape factor, dimensionless
d is the diameter of particle, m
g is the gravitational acceleration, m/s2
Re is the Reynolds number, dimensionless
Another equation that can be used to predict the head loss through a sand filter was developed by Rose
and is presented as follows:
(4.55)
where:
hL is the head loss in the filter, m
CD is the Newtons drag coefficient, which is given as follows:
(4.56)
vf is the filtration velocity, m/s
l is the filter depth, m
g is the gravitational acceleration, m/s2
d is the particle diameter, m
is the particle shape factor, dimensionless
e is the bed porosity, dimensionless
Example 4.9
1 Write a computer program to compute the head loss by using the Rose or CarmanKozeny
equation. The given information includes the filtration velocity, water viscosity, filter depth,
average particle size, and specific gravity for sand, the particle shape factor, and the bed
porosity. The program needs to be designed so that the head loss can be determined for
various temperatures.
. A trifilter media (third layer on top) is used for filtering water at 20C. The properties of
the filter are as shown below:
Item Sand Layers Anthracite Layer
First Second Third
Depth (m) 0.6 0.6 0.4
Average particle size (mm) 0.5 1.0 1.4
Specific gravity 2.65 2.0 1.5
Particle shape factor 0.92 0.83 0.9
Porosity of bed (%) 50 45 45
Filtration rate (m3 /m2 /day) 200 200 200
Determine the head loss using both the CarmanKozeny and Rose equations. Find the percentage
error between the two methods.
. Use the computer program developed in (1) to verify the results determined in (2).
Solution
1 For solution to Example 4.9 (1), see the listing of Program 4.9.
a. Solution to Example 4.9 (2): Given: the properties of media, vf = 200/(24 * 60 * 60) = 2.32
2.
* 103 m/s, T = 20C, which gives from Table A.1 = 1.0087 * 103 and = 998.203 kg/m3.
b.Rose equation
i For the first sand layer:
A Determine Reynolds number: Re = vf * d/v = 998.203 * 2.32 * 103 * 0.5 * 10
3/1.0087 * 103 = 1.148.
iv Determine the total head loss = head loss through the first layer + head loss through the second
layer + head loss through anthracite layer = 0.293 + 0.132 + 0.043 = 0.468 m.
c CarmanKozeny equation
i For the first sand layer:
A Determine Reynolds number: Re = vf *d/ = 998.203 * 2.32 * 103*0.5 *
103/1.0087 * 103 = 1.148.
B Find the coefficient: f = [150(1 e)/Re] + 1.75. f = [150(1 0.5)/1.148] + 1.75 =
67.08.
C Determine the head loss for first layer as follows: hL = f*1*(1 e)* vf 2/*d*e3*g. hL
= 67.08 * 0.6* (1 0.5)*(2.32 * 103)2/[0.92 * 0.5 * 103*(0.5)3 * 9.81] = 0.192 m.
ii For the second sand layer:
A Determine Reynolds number: Re = 998.203 * 2.32 * 103*1 * 103/ 1.0087 * 103 =
2.3.
B Find the coefficient: f = (150(1 e)/Re) + 1.75. f = [150(1 0.45)/2.3] + 1.75 =
37.62.
C Estimate the head loss for the second layer as follows: hL = 37.62 * 0.6* (1 0.45)*
(2.32 * 103)2/[0.83 * 1*103*(0.45)3 * 9.81] = 0.09 m.
iii For the third anthracite layer:
A Determine Reynolds number: Re = 998.203 * 2.32 * 103*1.4 * 103/ 1.0087 * 103
= 3.21.
B Find the coefficient: f = (150(1 e)/Re) + 1.75. f = [150(1 0.45)/3.21] + 1.75 =
27.45.
C Estimate the head loss for the third layer as follows: hL = 27.45 * 0.4* (1 0.45)*
(2.32 * 103)2/[0.9 * 1.4 * 103*(0.45)3 * 9.81] = 0.029 m.
iv Determine the total head loss = head loss through the first sand layer + head loss through the
second sand layer + head loss through anthracite layer = 0.192 + 0.09 + 0.029 = 0.311 m.
v Determine the percentage error: (0.468 0.311)*100/0.468 = 34%.
'*********************************************************************************
'Program 4.9: HEAD
'Computes the Head loss in filters
'*********************************************************************************
Public Class Form1
Dim temp(34), density(34), viscosity(34)
Dim layer As Integer
Dim total_hL1, total_hL2 As Double
Dim vf, frate As Double
Dim N, L(), d(), S(), phi(), e1(), H_Rose(), H_Carman(), T As Double
Dim is_calculated() As Boolean
'acceleration due to gravity
Const g = 9.81
'*******************************************************************************
'Fill the tables with default values,
'taken from Appendix A1.
'*******************************************************************************
Private Sub fill_tables()
temp(0) = 5
temp(1) = 6
temp(2) = 7
temp(3) = 8
temp(4) = 9
temp(5) = 10
temp(6) = 11
temp(7) = 12
temp(8) = 13
temp(9) = 14
temp(10) = 15
temp(11) = 16
temp(12) = 17
temp(13) = 18
temp(14) = 19
temp(15) = 20
temp(16) = 21
temp(17) = 22
temp(18) = 23
temp(19) = 24
temp(20) = 25
temp(21) = 26
temp(22) = 27
temp(23) = 28
temp(24) = 29
temp(25) = 30
temp(26) = 31
temp(27) = 32
temp(28) = 33
temp(29) = 34
temp(30) = 35
temp(31) = 36
temp(32) = 37
temp(33) = 38
density(0) = 999.956
density(1) = 999.941
density(2) = 999.902
density(3) = 999.849
density(4) = 999.781
density(5) = 999.7
density(6) = 999.605
density(7) = 999.498
density(8) = 999.377
density(9) = 999.244
density(10) = 999.099
density(11) = 998.943
density(12) = 998.774
density(13) = 998.595
density(14) = 998.405
density(15) = 998.203
density(16) = 997.992
density(17) = 997.77
density(18) = 997.538
density(19) = 997.296
density(20) = 997.044
density(21) = 996.783
density(22) = 996.512
density(23) = 996.232
density(24) = 995.944
density(25) = 995.646
density(26) = 995.34
density(27) = 995.025
density(28) = 994.702
density(29) = 994.371
density(30) = 994.03
density(31) = 993.68
density(32) = 993.33
density(33) = 992.96
viscosity(0) = 1.5188
viscosity(1) = 1.4726
viscosity(2) = 1.4288
viscosity(3) = 1.3872
viscosity(4) = 1.3476
viscosity(5) = 1.3097
viscosity(6) = 1.2735
viscosity(7) = 1.239
viscosity(8) = 1.2061
viscosity(9) = 1.1748
viscosity(10) = 1.1447
viscosity(11) = 1.1156
viscosity(12) = 1.0875
viscosity(13) = 1.0603
viscosity(14) = 1.034
viscosity(15) = 1.0087
viscosity(16) = 0.9843
viscosity(17) = 0.9608
viscosity(18) = 0.938
viscosity(19) = 0.9161
viscosity(20) = 0.8949
viscosity(21) = 0.8746
viscosity(22) = 0.8551
viscosity(23) = 0.8363
viscosity(24) = 0.8181
viscosity(25) = 0.8004
viscosity(26) = 0.7834
viscosity(27) = 0.767
viscosity(28) = 0.7511
viscosity(29) = 0.7357
viscosity(30) = 0.7208
viscosity(31) = 0.7064
viscosity(32) = 0.6925
viscosity(33) = 0.6791
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 4.9: Computes the
Head loss in filters"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Number of layers in the filter:"
Label2.Text = "Temperature (Centigrade):"
Label3.Text = "Filter depth (m):"
Label4.Text = "Particle diameter (mm):"
Label5.Text = "Specific gravity:"
Label6.Text = "Particle shape factor (phi):"
Label7.Text = "Bed porosity e (%):"
Label8.Text = "Filtration rate (m3/m2/day):"
Label9.Text = "Head loss hL (m):"
Label10.Text = "Total head loss in the filter (m):"
Label11.Text = "(1) Rose Equation:"
Label12.Text = "(2) Carman-Kozeny Equation:"
Label13.Text = "Head loss hL (m):"
Label14.Text = "Total head loss in the filter (m):"
Button1.Text = "&Calculate"
Button2.Enabled = False
Button3.Enabled = True
Else
layer += 1
GroupBox1.Text = "LAYER NO. " + layer.ToString
TextBox3.Text = L(layer).ToString
TextBox4.Text = d(layer).ToString
TextBox5.Text = S(layer).ToString
TextBox6.Text = phi(layer).ToString
TextBox7.Text = e1(layer).ToString
If is_calculated(layer) = True Then
Label9.Text = "Head loss hL (m): " + H_Rose(layer).ToString
Label10.Text = "Total head loss in the filter (m): " +
total_hL1.ToString
Label13.Text = "Head loss hL (m): " + H_Carman(layer).ToString
Label14.Text = "Total head loss in the filter (m): " +
total_hL2.ToString
Else
Label9.Text = "Head loss hL (m): "
Label10.Text = "Total head loss in the filter (m): "
Label13.Text = "Head loss hL (m): "
Label14.Text = "Total head loss in the filter (m): "
End If
Button3.Enabled = True
If layer >= N Then
Button2.Enabled = False
End If
End If
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click If layer <= 1 Then
Button3.Enabled = False
Button2.Enabled = True
Else
layer -= 1
GroupBox1.Text = "LAYER NO. " + layer.ToString
TextBox3.Text = L(layer).ToString
TextBox4.Text = d(layer).ToString
TextBox5.Text = S(layer).ToString
TextBox6.Text = phi(layer).ToString
TextBox7.Text = e1(layer).ToString
If is_calculated(layer) = True Then
Label9.Text = "Head loss hL (m): " + H_Rose(layer).ToString
Label10.Text = "Total head loss in the filter (m): " +
total_hL1.ToString
Label13.Text = "Head loss hL (m): " + H_Carman(layer).ToString
Label14.Text = "Total head loss in the filter (m): " +
total_hL2.ToString
Else
Label9.Text = "Head loss hL (m): "
Label10.Text = "Total head loss in the filter (m): "
Label13.Text = "Head loss hL (m): "
Label14.Text = "Total head loss in the filter (m): "
End If
Button2.Enabled = True
If layer <= 1 Then
Button3.Enabled = False
End If
End If
End Sub
End Class
Example 4.10
1. Write a short computer program that can be used to estimate the filtration rate when given the
head loss, viscosity, specific gravity, particle shape factor, and other elements included in
the Rose and CarmanKozeny equations. Plan the computer program so that the suitability of
the filtration rate can be evaluated.
2. A single, unisized sand bed filter of depth 1.2 m and a porosity of 0.6 with uniform sand
grains of 0.8 mm is used to treat water at 22C. Find the range of the filtration rate (in
3. m/day) for a head loss of 0.12 m. (Use both the Rose and CarmanKozeny equations.) Use
computer programs developed in (1) to verify computations in (2).
Solution
1. For solution to Example 4.10 (1), see the listing of Program 4.10.
2. Solution to Example 4.10 (2):
a. Given: l = 1.2 m, e = 0.6, d = 0.8 * 103 m, hf = 0.12 m, T = 22C. From Table A.1, = 0.9608
* 103, = 997.77.
i. Rose equation:
A. Find Reynolds number as follows: Re = 997.77*(v/60 * 60 * 24)* 0.8 * 103/ 0.9608 * 103 =
9.616 * 103v.
B. Find Newtons drag coefficient as follows: CD = (24/9.616 * 103/v) + [3/(9.616 * 103v)1/2] +
0.34 = 2495.8/v + 30.59/v1/2 + 0.34.
C. Use the head loss equation: hL = 0.12 = 1.067 * (2495.8/v + 30.59/v1/2 + 0.34)*(v/60 * 60 *
24)2 * 1.2)/(9.81* 0.8 * 103*1*(0.6)4).
D. Estimate the filtration velocity by trial and error, which yields v = 234 m/day.
ii. CarmanKozeny equation:
'*********************************************************************************
'Program 4.10: FILTRATION
'Computes the filtration rate for a given head loss
'REQUIRES ZEROS OF A FUNCTION USES NEWTON RAPHSON METHOD
'*********************************************************************************
Imports System.Math
Public Class Form1
Dim density(34), viscosity(34)
Dim H1, L, d, phi, _e As Double
Dim temp(34), T As Integer
Const g = 9.81 'acceleration due to gravity
'*******************************************************************************
'Fill the tables with default values,
'taken from Appendix A1.
'*******************************************************************************
Private Sub fill_tables()
temp(0) = 5
temp(1) = 6
temp(2) = 7
temp(3) = 8
temp(4) = 9
temp(5) = 10
temp(6) = 11
temp(7) = 12
temp(8) = 13
temp(9) = 14
temp(10) = 15
temp(11) = 16
temp(12) = 17
temp(13) = 18
temp(14) = 19
temp(15) = 20
temp(16) = 21
temp(17) = 22
temp(18) = 23
temp(19) = 24
temp(20) = 25
temp(21) = 26
temp(22) = 27
temp(23) = 28
temp(24) = 29
temp(25) = 30
temp(26) = 31
temp(27) = 32
temp(28) = 33
temp(29) = 34
temp(30) = 35
temp(31) = 36
temp(32) = 37
temp(33) = 38
density(0) = 999.956
density(1) = 999.941
density(2) = 999.902
density(3) = 999.849
density(4) = 999.781
density(5) = 999.7
density(6) = 999.605
density(7) = 999.498
density(8) = 999.377
density(9) = 999.244
density(10) = 999.099
density(11) = 998.943
density(12) = 998.774
density(13) = 998.595
density(14) = 998.405
density(15) = 998.203
density(16) = 997.992
density(17) = 997.77
density(18) = 997.538
density(19) = 997.296
density(20) = 997.044
density(21) = 996.783
density(22) = 996.512
density(23) = 996.232
density(24) = 995.944
density(25) = 995.646
density(26) = 995.34
density(27) = 995.025
density(28) = 994.702
density(29) = 994.371
density(30) = 994.03
density(31) = 993.68
density(32) = 993.33
density(33) = 992.96
viscosity(0) = 1.5188
viscosity(1) = 1.4726
viscosity(2) = 1.4288
viscosity(3) = 1.3872
viscosity(4) = 1.3476
viscosity(5) = 1.3097
viscosity(6) = 1.2735
viscosity(7) = 1.239
viscosity(8) = 1.2061
viscosity(9) = 1.1748
viscosity(10) = 1.1447
viscosity(11) = 1.1156
viscosity(12) = 1.0875
viscosity(13) = 1.0603
viscosity(14) = 1.034
viscosity(15) = 1.0087
viscosity(16) = 0.9843
viscosity(17) = 0.9608
viscosity(18) = 0.938
viscosity(19) = 0.9161
viscosity(20) = 0.8949
viscosity(21) = 0.8746
viscosity(22) = 0.8551
viscosity(23) = 0.8363
viscosity(24) = 0.8181
viscosity(25) = 0.8004
viscosity(26) = 0.7834
viscosity(27) = 0.767
viscosity(28) = 0.7511
viscosity(29) = 0.7357
viscosity(30) = 0.7208
viscosity(31) = 0.7064
viscosity(32) = 0.6925
viscosity(33) = 0.6791
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 4.10: Computes the
filtration rates in filters"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Head loss hL (m):"
label2.text = "Filter depth (m):"
label3.text = "Particle diameter (mm):"
label4.text = "Particle shape factor (phi):"
Label5.Text = "Bed porosity e (%):"
Label6.Text = "Temperature (between 5-38oC):"
GroupBox1.Text = " Output: "
TextBox7.Multiline = True
TextBox7.Height = 150
TextBox7.ScrollBars = ScrollBars.Vertical
Button1.Text = "&Calculate"
fill_tables()
End Sub
Sub calculateResults()
H1 = Val(textbox1.text)
L = Val(textbox2.text)
d = Val(textbox3.text)
phi = Val(textbox4.text)
_e = Val(TextBox5.Text)
T = Val(textbox6.text)
If T < 5 Or T > 38 Then
MsgBox("Please enter temperature between 5 and 38", vbOKOnly, "Error")
Exit Sub
End If
Dim kr, Ro, Vs, k, C11, C12, C13 As Double
Dim Vc, B, C1, C2, C3, C4, M2, M1, f, fprevious, Xprevious, Re As Double
Dim Xn, X, Epsilon, fdash, deltaX, V, difference As Double
'determine the density and the viscosity
For i = 0 To 33
If T = temp(i) Then kr = i
Next i
Ro = density(kr)
Vs = viscosity(kr) / 1000
If _e > 1 Then _e = _e / 100 'convert to ratio
d = d / 1000 'convert to meter units
'compute velocity
k = 60.0! * 60.0! * 24.0! 'conversion factor to /day
'set up Carman-Kozeny equation
C11 = 1.75
C12 = 12960000.0 * (1 - _e) * Vs / (Ro * d)
C13 = -H1 * g * d * phi * _e ^ 3 * k ^ 2 / ((1 - _e) * L)
Vc = (-c12 + (c12 ^ 2 - 4 * c13 * c11) ^ 0.5) / (2 * c11)
'set up Rose equation
B = Ro * d / (k * vs)
C1 = 0.34
C2 = 3 / B ^ 0.5
C3 = 24 / B
C4 = H1 * g * d * phi * _e ^ 4 * k ^ 2 / (1.067 * L)
M2 = (c4 / c1) ^ 0.25
M1 = M2 / 10
'zeroes of function search for solution interval
Dim status = 0
For X = M1 To M2 Step M1
f = C1 * X ^ 4 + C2 * X ^ 3 + C3 * X ^ 2 - C4
If X > M1 Then Call check(f, fprevious, X, M1, status)
If status > 0 Then GoTo jmp
fprevious = f
Xprevious = X
Re = Ro * X ^ 2 * d / Vs
Next X
jmp:
'Newton Raphson approximation of roots
Xn = X
Epsilon = 0.000001
cycle:
X = Xn
f = (C1 * X ^ 4) + (C2 * X ^ 3) + (C3 * X ^ 2) - C4
fdash = (4 * C1 * X ^ 3) + (3 * C2 * X ^ 2) + (2 * C3 * X)
V = X ^ 2
deltaX = f / fdash
Xn = Xn - deltaX 'improved estimate
If ABS(deltaX) > Epsilon Then GoTo cycle
TextBox7.Text = "Solution using Rose equation:" + vbCrLf
Call RESULTS(V, 6)
(4.57)
where:
Ce is the concentration of contaminant in the effluent, mg/L
C0 is the concentration of contaminant at the filter inlet surface, mg/L
0 is the filtration coefficient, m1
l is the filter depth, m
The rate of deposition of particulate solids in the filter bed can be estimated from the following
equation (Huisman 1977, Rowe and Abdel-Magid 1995):
(4.58)
where:
is the the rate of deposition
v is the filtration rate, m/s
0 is the filtration coefficient, m1
C0 is the concentration of solid particles at the filter inlet surface, mg/L
y is the depth of deposition of solids from the filter inlet surface, m t is the time taken for deposition of
solids within the filter bed, s
Example 4.11
1. Write a computer program that will estimate the concentration of a contaminant in the
effluent from a filter bed as well as the rate of deposition of the contaminant at various
depths throughout the filter. Given the concentration of contaminant at the filter inlet surface,
temperature, filtration coefficient, filter depth, filtration rate, and time taken for deposition of
solids within the filter bed. Plan the computer program so that the percentage reduction of
the contaminant by the filter is also determined.
2. Water at a temperature of 20C with a contaminant concentration of 200 mg/L is to be treated
by a filter bed of 1 m depth with a coefficient of filtration of 5 m1. Find the concentration of
the contaminant in the effluent if the filtration rate is 10 m3/m2/h.
3. Use the computer program developed in (1) to verify the computations in (2).
Solution
1. For solution to Example 4.11 (1), see the listing of Program 4.11.
a. Solution to Example 4.11 (2): Given: C0 = 200 mg/L, l = 1 m, = 5/m, vf = 10 m/h = 2.78 *
2.
103 m/s.
b. Find the effluent contaminant concentration using Equation 3.57: C0*e0L = 200*e5*l = 1.3
mg/L.
'*********************************************************************************
'Program 4.11: Effluents
'computes the concentration of impurities of
'the effluents
'*********************************************************************************
Imports System.Math
Public Class Form1
Dim Co, lamda, L, v As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 4.11: Computes the
concentration of impurities of effluents"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Concentration of impurities in the effluent (mg/L):"
Label2.Text = "Filtration coefficient (/m):"
Label3.Text = "Filter depth (m):"
Label4.Text = "Filtration rate (m/s):"
GroupBox1.Text = " Output: "
TextBox5.Multiline = True
TextBox5.Height = 150
TextBox5.ScrollBars = ScrollBars.Vertical
Button1.Text = "&Calculate"
End Sub
Sub calculateResults()
Co = Val(TextBox1.Text)
lamda = Val(TextBox2.Text)
L = Val(TextBox3.Text)
v = Val(TextBox4.Text)
Dim y, Cx, delta, percent As Double
Cx = Co * EXP(-lamda * L)
TextBox5.Text = "Effluent concentration of impurities (mg/L): " +
Cx.ToString + vbCrLf percent = 100 * (Co - Cx) / Co
TextBox5.Text += "Percentage reduction of impurities (%): " +
percent.ToString + vbCrLf y = L / 2
Cx = Co * EXP(-lamda * y)
TextBox5.Text += "Concentration of impurities at half depth (mg/L): " +
Cx.ToString + vbCrLf delta = v * lamda * Co * EXP(-lamda * L)
TextBox5.Text += "Rate of deposition of impurities:" + delta.ToString
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
End Sub
End Class
(4.59)
where:
le is the expanded bed depth, m
l is the bed depth, m
e is the porosity of bed, dimensionless
ee is the expanded bed porosity, dimensionless
v is the face velocity of the backwash water (rise rate), m/s
vs is the sand particles settling velocity, m/s
Example 4.12
1. Write a short computer program to find the filter bed expansion during backwashing, given
the rate of water backwashing, the sand particle shape factor, the sand bed porosity, the
settling velocity of the sand particles, and the depth of the filter.
2. A uniform sand filter bed of depth 0.6 m with a porosity of 0.4 is used for filtering water at a
filtration rate of 15 m3/m2/h with a measured settling velocity of sand particles of 0.05 m/s.
When backwashing is required, it is carried out at a rate of 20 m3/m2h. Determine the depth
of bed expansion.
3. Use computer program developed in (1) to verify computations in (2).
Solution
1. For solution to Example 4.12 (1), see the listing of Program 4.12.
a. Solution to Example 4.12 (2): Given: l = 0.6 m, e = 0.4, v = 20 m/h, vs = 0.05 m/s = 180
2.
m/h.
b. Determine the depth of bed expansion as follows: le/l = (1 e)/[1 (v/vs)0.22]. le/0.6 = (1
0.4)/[1 (20/180)0.22]. This yields a value of le = 0.94 m.
Listing of Program 4.12 (Chap4.12\Form1.vb): Depth of Bed Expansion
'*********************************************************************************
'Program 4.12: Backwashing
'Computes the depth of bed expansion
'*********************************************************************************
Public Class Form1
Dim Lx, e, L, v, Vs As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 4.12: Computes the
depth of bed expansion"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
label1.text = "Enter porosity of bed:"
label2.text = "Enter depth of bed (m):"
label3.text = "Enter backwashing rate (m/min):"
label4.text = "Enter particle settling velocity (m/min):"
label5.text = "The expanded bed depth (m):"
Button1.Text = "&Calculate"
End Sub
Sub calculateResults()
e = Val(textbox1.text)
L = Val(textbox2.text)
v = Val(textbox3.text)
Vs = Val(TextBox4.Text)
'Convert from m/s to m/h
Vs *= 60 * 60
Lx = L * (1 - e) / (1 - (v / Vs) ^ 0.22)
TextBox5.Text = FormatNumber(Lx, 2)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
End Sub
End Class
4.8.1 INTRODUCTION
Desalination or desalting is a term applied to removal of dissolved salts from waters with the objective
of producing water suitable for human consumption (Rowe and Abdel-Magid 1995, Smith and Scott
2002). Table 4.2 gives an estimate of the dissolved solids concentration of various types of water.
TABLE 4.2
Dissolved Solids Content for Different Waters
Type of Water Total Dissolved Solids (mg/L)
Brackish water 1,50012,000
Seawater (Middle East) 50,000
Seawater (North Sea) 35,000
Source: Rowe, D. R. and Abdel-Magid, I. M., Handbook of Wastewater Reclamation and Reuse, CRC Press/Lewis Publishers, Boca
Raton, FL, 1995. With permission.
Desalination processes include the following:
1. Distillation: This process concerns the boiling of water and the consequent condensation of
vapor produced (examples are to be found in solar stills; multistage flash, multiple-effect
boiling, and vapor compression distillation).
2. Freezing: Freezing of a solution of saline water enables the separation of dissolved salts and the
production of pure water.
3. Membrane process: Reverse osmosis (RO) applies pressure to force water molecules to flow
through a semipermeable membrane while retaining dissolved substances in the solution.
Electrodialysis uses ion-selective membranes to separate dissolved salts under the action of an
electric current.
Figure 4.10 summarizes the various types of desalination techniques (Rowe and Abdel-Magid 1995).
FIGURE 4.10. Summary of various desalination methods. TDS, total dissolved solids.
4.8.2 DISTILLATION
In distillation, saline water is boiled or evaporated to produce two separate streams: freshwater and
concentrate or a brine stream. The first stream has a low concentration of dissolved salts, whereas the
second stream contains the remaining dissolved salts. Vapors or steam is then condensed to supply pure
water. Benefits of the distillation process include the following (Rowe and Abdel-Magid 1995, Buros
2000): . Removal of harmful organisms from feed water (e.g., bacteria, viruses)
. Elimination of nonvolatile matter from feed water (e.g., dissolved gases such as carbon dioxide
and ammonia) In the distillation of water, at least two heat exchangers are needed for evaporating the
feed water and for aiding vapor in the condensation.
In a multiple-effect distillation unit, the feed water in the first phase is boiled under high pressure,
whereas the last phase operates at atmospheric pressure. Figure 4.11 outlines the pressure operation in a
multiple-effect distillation process. Heating tubes of the second stage aids the condensation of water
vapor emerging from the first phase. The energy released (by latent heat of condensation and by
temperature decrease) is employed by the liquid water in the second stage. Cooling water is used in the
last stage to finalize the condensation (Rowe and Abdel-Magid 1995).
(4.60)
where:
HEi is the heat exchanged to effect number i, J
ui is the heat transfer coefficient for heat exchanger number i Ai is the area of heat exchanger number i, m2
Ti is the temperature difference between water in effect and steam entering heat exchanger, C
where:
T0 is the temperature of heating steam supplied to first phase, C
T1 is the boiling temperature in first phase, C
(4.61)
(4.62)
(4.63)
Example 4.13
1. Write a computer program that determines the temperature difference in each phase of a
multiphase still composed of N number of stills with a drop in both temperature (from T1 to
Tn) and heat transfer coefficients (from u1 to un). Assume the stills have equal areas in the
heat exchanger.
2. A triple-phase still of equal areas in the heat exchanger is employed for water distillation.
Dry steam enters the first still at a temperature of 120C and leaves the triple-phase still at a
temperature of 40C with a drop in the pressure in the last phase. Heat transfer coefficients
for the three stills are in the ratio of 4:3:2, respectively. Find the temperature difference in
each phase in the triple distiller.
Solution
1. For the solution to Example 4.13 (1), see the listing of Program 4.13.
a. Solution to Example 4.13 (2): Given: u1:u2:u3 = 4:3:2, T1 = 120, T3 = 40.
2.
b. Find the temperature differences for the different phases of the still as follows: u1*T1 =
u2*T2 = u3*T3.
c. Determine the total temperature drop in the three phases: T1 + T2 + T3 = T = 120 40 =
80.
d. Let u1*T1 = u2*T2 = u3*T3 = a, then T1/T = (a/u1 + a/u2 + a/u3).
e. Multiply by u1/a, then T1/T = (1)/(1 + u1/u2 + u1/u3).
f. Find temperature differences as follows: T1/80 = (1)/[1 + (4/3) + (4/2)]. This yields T1 =
18.5C.
g. Similarly, T2/T = (1)/(u2/u1 + 1 + u2/u3), which gives T2 = 24.6C and T3/T = (1)/
(u3/u1 + u3/u2 + 1), which gives T3 = 36.9C.
3. Use the computer program developed in (1) to verify the manual solution presented in (2).
'*********************************************************************************
'Program 4.13: Desalination
'computes the temperature difference in
'multi-phase still
'*********************************************************************************
Public Class Form1
Dim rat(), deltaT() As Double
Dim N As Integer = 1
Dim T1, T3, dT As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 4.13: Computes the
temperature difference in multi-phase still"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
label1.text = "Enter number of stills:"
textbox1.text = N.ToString
label2.text = "Enter " + N.ToString + " heat transfer coefficient
ratios:"
datagridview1.columns.clear()
datagridview1.rows.clear()
datagridview1.columns.add("col", "ratio")
DataGridView1.Rows.Add(N)
DataGridView1.AllowUserToAddRows = False
label3.text = "Enter initial temperature T1:"
Label4.Text = "Enter final temperature T" + N.ToString + ":"
datagridview2.columns.clear()
datagridview2.columns.add("col", "dT")
datagridview2.rows.clear()
DataGridView2.AllowUserToAddRows = False
Button1.Text = "&Calculate"
Label5.Text = "Temperature difference in the " + N.ToString + " stills
are as follows:"
End Sub
Sub calculateResults()
N = Val(textbox1.text)
t1 = Val(textbox2.text)
t3 = Val(textbox3.text)
ReDim rat(N)
ReDim deltaT(N)
For i = 1 To N
rat(i) = datagridview1.rows(i - 1).cells(0).value
Next
dT = T1 - T3
DataGridView2.Rows.Clear()
Dim X As Double
For i = 1 To N
X = 0
For j = 1 To N
X = X + rat(i) / rat(j)
Next j
deltaT(i) = dT / X
datagridview2.rows.add(deltaT(i))
Next i
End Sub
4.8.3 OSMOSIS
Osmosis concerns the tendency of a solvent to diffuse through a membrane to a solute. The flow is
directed from the more diluted to the more concentrated solution. To prevent diffusion toward the more
concentrated solution, osmotic pressure is applied. Figure 4.12 illustrates the concepts of normal and RO
processes.
(4.64)
where:
Posm is the osmotic pressure, Pa or atm
R is the universal gas constant (= 0.08206 L*atm/mol*K = 9.314 J/K*mol = 8314 J/kg*K), J/kg*K
T is the temperature, K
P0 is the vapor pressure of solvent in dilute solution, Pa or atm P is the vapor pressure of solvent in
concentrated solution, Pa or atm V is the volume per mole of solvent (= 0.018 L for water), m3 or L
Generally, the existence of a nonvolatile solute in a liquid decreases the vapor pressure of the solution.
Raoults law assumes that for dilute solutions, the reduction in vapor pressure of a solvent is directly
proportional to the concentration of particle in solution (Rowe and Abdel-Magid 1995, Sawyer and
McCarty 2002). Equation 4.65 signifies Raoults law for dilute solution relating osmotic pressure to
molar concentration of particles in the concentrated solution:
(4.65)
where:
Posm is the osmotic pressure, atm
C is the molar concentration of particles
R is the universal gas constant for all gases, L*atm/mol*K
T is the temperature, K
In the RO process, the dissolved solids are separated by a semipermeable membrane. In this case,
pressure in excess of the natural osmotic pressure is applied to the feed water (see Figure 4.13).
Example 4.14
1. Write a short computer program to compute the osmotic pressure per unit volume for a salt
solution, given the temperature and the vapor pressure of solvent in dilute and concentrated
solutions.
2. A salt solution has a vapor pressure (concentrated solution) of 2.26 kPA and a temperature of
20C. Assume pure water (dilute solution in this case) has a vapor pressure of 2.34 kPa at
this temperature. Estimate the osmotic pressure per unit volume.
3. Use the computer program developed in (1) to verify the manual solution presented in (2).
Solution
1. For solution to Example 4.14 (1), see the listing of Program 4.14.
a. Solution to Example 4.14 (2): Given: T = 20C, P0 is the vapor pressure of solvent in dilute
2.
solution = 2.34 kPa (may be found from Appendix A1 corresponding to the given
temperature in case of the dilute solution being water). P is the vapor pressure of the solvent
in the concentrated solution = 2.26 kPa.
b. Determine the temperature as follows: T = 273.16 + 20 = 293.16 K.
c. Find the osmotic pressure as follows: (Posm = (R*T/V)*ln(P0/P). Posm = (8.314 J/K/mol*293.16
K)*ln(2.34/2.26) = 84.8 Pa/unit volume.
'*********************************************************************************
'Program 4.14: Osmosis
'Computes the osmotic pressure per unit volume for
'salt solutions
'*********************************************************************************
Public Class Form1
Dim T, Po, P, Posm As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 4.14: Computes the
osmotic pressure for salt solutions"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Example 4.15
1. Write a computer program to find the difference in osmotic pressure across a semipermeable
membrane, given the concentrations (in molar, or mg/L) of cations and anions and the
prevailing temperature.
2. Analysis of a water sample at a temperature of 23C indicated the following concentration
of ions (in mg ion/L). Cations: Mg2+ = 0.5, Ca2+ = 0.8, Na+ = 0.3, K+ = 0.2. Anions: SO4
= 1.2, Cl = 0.1, HCO3 = 0.25, NO3 = 0.25. The water sample is to be treated by RO.
Determine the osmotic pressure across the semipermeable membrane.
Solution
1. For solution to Example 4.15 (1), see the listing of Program 4.15.
a. Solution to Example 4.15 (2): Determine the molar concentration of ions in the water sample
2.
as follows: molar ion concentration = concentration of ion (mg/L)/MW, where MW =
molecular weight. Thus (and similarly), Mg2+ = 0.5/24.3 = 0.0206; Ca2+ = 0.8/40 = 0.02;
Na+ = 0.3/23 = 0.013; K+ = 0.2/39 = 0.0051; SO4 = 1.2/96 = 0.0125; Cl = 0.1/35.5 =
0.0028; HCO3 = 0.25/61 = 0.0041; NO3 = 0.25/62 = 0.004.
b. Find the molar ion concentration of the sample of water as follows: C = 0.0206 + 0.02 + 0.013
+ 0.0051 + 0.0125 + 0.0028 + 0.0041 + 0.004 = 0.0821 M.
c. Determine the osmotic pressure as follows: Posm = C*R*T = 0.0821 * 0.082*(273.16 + 23) =
1.99 atm.
3. Use the computer program developed in (1) to verify the manual solution presented in (2).
'*********************************************************************************
'Program 4.15: Osmosis-2
'Computes difference in osmotic pressure
'across membranes
'*********************************************************************************
Public Class Form1
Dim mw(8), conc(8)
Dim T, mol, Posm As Double
!4.8.4 ELECTRODIALYSIS
In electrodialysis, ions are transferred through an ion-selective membrane from one solution to another
under the action of a direct electrical potential (Rowe and Abdel-Magid 1995). Usually, the
electrodialysis device is an array of alternating anion- and cation-selective membranes across which an
electric potential is applied (see Figure 4.14) (Rowe and Abdel-Magid 1995, American Water Works
Association 2011).
(4.66)
where:
i is the current density, A/cm2
Eff is the current efficiency for transport of counterions through the membrane, %
Eff is the current efficiency for transport of the same ions in solution in contact with the membrane, %
Far is the Faraday constant (=26.8 A*h)
Diff is the diffusion constant for electrolyte at the temperature of electrolysis C0 is the concentration of
electrolyte in the depletion compartment C is the concentration of electrolyte at the membranesolution
interface B is the thickness of diffusion layer at the interface
The maximum value of the current density can be determined by using the following equation
(American Water Works Association 2011):
(4.67)
Example 4.16
1. Write a computer program to determine the maximum current density, given the total
dissolved solids, the current efficiency for transport of counterions through the membrane,
the current efficiency for transport of the same ions in solution in contact with the membrane,
the thickness of diffusion layer at the interface, the diffusion constant for electrolyte at the
temperature of electrolysis, and Faradays constant.
2. Brackish water with a dissolved solids concentration of 1800 mg/L is introduced to an
a. electrodialysis unit. The unit operates under the following conditions: Current efficiency for
transport of counter- ions through the membrane = 80%.
b. Current efficiency for transport of the same ions in solution in contact with the membrane =
58%.
c. Diffusion constant for electrolyte at the temperature of electrolysis = 1.4 * 105 cm2/s.
d. Thickness of diffusion layer at the interface = 0.5 mm.
Compute the maximum current density (take Faradays constant as 26.8 A*h).
3. Use the computer program developed in (1) to verify the manual solution presented in (2).
Solution
1. For solution to Example 4.16 (1), see the listing of Program 4.16.
a. Solution to Example 4.16 (2): Given: C0 = 1800 mg/L, Eff = 58%, Eff = 80%, Diff = 1.4 *
2.
105 cm2/s, B = 0.5 mm = 5 * 102 cm, Far = 26.8 A*h.
b. Determine the maximum current density as follows: imax = 100*Far*Diff*C0/[B*(EffEff)] =
(100 * 26.8 * 3600 * 1.4 * 105*1800 * 106)/[5 * 102*(80 58)] = 0.22 A*g/cm2.
'*********************************************************************************
'Program 4.16: Electrodialysis
'computes maximum current density
'*********************************************************************************
Public Class Form1
Dim Co, eff1, eff2, Diff, B As Double
Dim imax As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 4.16: Computes
maximum current density"
Me.MaximizeBox = False
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Label1.Text = "Enter dissolved solids concentration (mg/L):"
Label2.Text = "Enter efficiency for transport of ions through the
membrane (%):"
Label3.Text = "Enter efficiency for transport of ions in the solution
(%):"
Label4.Text = "Enter diffusion constant for electrolyte (cm2/s):"
Label5.Text = "Enter thickness of diffusion layer at the interface
(cm):"
Label6.Text = ""
Label7.Text = "Decimal places:"
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
NumericUpDown1.Value = 2
button1.text = "&Calculate"
End Sub
Sub calculateResults()
Co = Val(textbox1.text)
eff1 = Val(textbox2.text)
eff2 = Val(textbox3.text)
Diff = Val(textbox4.text)
B = Val(textbox5.text)
Dim Far, i As Double
Far = 26.8 * 3600 'Amp*hr
i = Far * Diff * Co * 0.000001 * 100 / (B * (eff1 - eff2))
i = Math.Abs(i)
imax = i
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
show_results()
End Sub
4.9.1 INTRODUCTION
Disinfection involves the killing of pathogenic organisms with the objective of preventing the spread of
water- and wastewater-borne disease. Disinfection methods can be classified as either physical or
chemical. The former methods include heat treatment, exposure to ultraviolet rays, and metal ions (e.g.,
silver, copper). The latter methods include the usage of oxidants such as chlorine gas, ozone, iodine, and
chlorinated compounds (e.g., chlorine dioxide), and potassium permanganate.
The preferred characteristics for an effective chemical disinfectant include the following (Committee
Report 1978, Dyer-Smith et al. 1983, El-Hassan and Abdel-Magid 1986, Sawyer and McCarty 2002,
Degremont 2007, Nemerow et al. 2009, Shammas et al. 2010): . Effective in killing pathogenic
microorganisms
. Ease of detection and measurement of its concentration in water
. Solubility in water in doses required for disinfection
. Absence of toxicity to humans and animals
. Ease of handling, transporting, and controlling it
. Capable of producing a residual
. Absence of a taste, odor, or color when used
. Available at a reasonable cost
The disinfection process is a function of type and concentration of microorganisms, type and
concentration of disinfectant, presence of oxidant-consuming compounds, temperature, dose of chemical,
contact time, and pH.
4.9.2 CHLORINATION
Chlorination is the process of adding chlorine to water with the purpose of killing pathogens. When
chlorine is added to water, part of it reacts to produce hypochlorous acid (HOCl), which is the more
effective disinfectant (available chlorine); another part forms hypochlorite ion (OCl); a third part reacts
with ammonia to form chloramines; a fourth part oxidizes inorganic matter (e.g., hydrogen sulfide, iron,
manganese); and a fifth part reacts with organic compounds to form trihalomethanes (THMs) and other
chlorinated organics. The benefits of using chlorine include effectiveness, reliability, and establishment of
a residual in the system (Rowe and Abdel-Magid 1995).
The rate of kill of organisms is a function of many interacting parameters, such as the concentration of
disinfectant, the ability and time needed to penetrate the bacterial cell wall, the distribution of disinfectant
and microorganisms, and the contact time between pathogens and disinfectant according to Chicks law.
Equation 4.68 is a mathematical expression for Chicks law, which is not valid for all disinfectants nor
for all microorganisms:
(4.68)
where:
N is the number of viable microorganisms of one type at time t
N0 is the number of viable microorganisms of one type at time t = 0
t is the time, days
k is the constant, day1
Another relationship between disinfectant concentration and contact time is given in the following
equation:
(4.69)
where:
C is the concentration of chlorine, mg/L
t is the contact time or time required for a given percentage of microbial kill, min a and k are the
experimental constants that are valid for a particular system The Vant HoffArrhenius equation can be
used to relate the effects of temperature on the disinfection process (Peavey et al. 1985, Metcalf and Eddy
2013).
(4.70)
where:
t1 and t2 are the time required for the given kills, s E is the activation energy (see Table 4.3), cal T1 and
T2 are the temperatures corresponding to t1 and t2 respectively, K
R is the gas constant
TABLE 4.3
Activation Energies (E) for Aqueous Chlorine
pH E(cal)
7.0 8,200
8.5 6,400
9.8 12,000
10.7 15,000
Source: Rowe, D. R. and Abdel-Magid, I. M., Handbook of Wastewater Reclamation and Reuse, CRC Press/Lewis Publishers, Boca
Raton, FL, 1995. With permission.
1. For solution to Example 4.17 (1), see the listing of Program 4.17.
a. Solution to Example 4.17 (2): Given: the rate of kill = 99.99%, k = 0.1 s1.
2.
b. Find the contact time from Chicks law as follows: t = (1/k)*log(N/N0). t = (1/0.1)* log(100
99.99/100) = 40 s.
'*********************************************************************************
'Program 4.17: Chlorination
'computes the time needed by a disinfectant to
'achieve a certain kill
'*********************************************************************************
Imports System.Math
Public Class Form1
Dim k, N1 As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 4.17: Computes the
time needed by a disinfectant"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Enter the rate constant k (/s):"
Label2.Text = "Is it to base 10?"
Label3.Text = "Enter the percentage kill to achieve:"
radiobutton1.text = "Yes"
RadioButton2.Text = "No"
RadioButton1.Checked = True
Button1.Text = "&Calculate"
Label4.Text = ""
Label4.AutoSize = False
Label4.Height = 40
Label4.Width = 290
End Sub
Sub calculateResults()
k = Val(textbox1.text)
N1 = Val(textbox2.text)
Dim N2, lgn, t As Double
If N1 < 1 Then N1 = N1 * 100
N2 = (100 - N1) / 100
'logarithm base 10 of N2
lgn = Log10(N2)
'logarithm base e of N2
If RadioButton2.Checked Then lgn = Log(N2)
t = -(1 / k) * lgn
Label4.Text = "time needed to achieve this level of kill (seconds): " +
FormatNumber(t, 2) End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
End Sub
End Class
4.10 CORROSION
4.10.1 INTRODUCTION
Water with corrosive characteristics can cause problems in distribution networks and residential
plumbing systems. Generally, problems encountered may be classified as follows (Eliassen and Shrindle
1958, Hoyt et al 1979, American Water Works Association 1980, Narayan 1983, American Water Works
Association 1984, American Water Works Association 2010): . Health problems: These problems
originate from dissolution of certain substances into water from transmission and distribution pipelines or
plumbing system.
. Economic problems: These problems result from reduced service life of materials due to
deterioration within transmission, distribution, and plumbing systems.
. Aesthetic problems: These problems are due to dissolution of certain metallic substances into the
water.
(4.71)
where:
LI is the Langelier index
pHa is the actual (measured) pH of the water
pHs is the saturation pH
(4.72)
where:
pK2 pKs is the dissolution constant estimates based on the temperature and total dissolved solids or ionic strength pCa2+ is the negative
logarithm of the calcium ion concentration (Ca2+ in mol/L) pAlk is the negative logarithm of the total alkalinity (alkalinity in equivalents of
CaCO3/L) S is the salinity correction term:
(4.73)
(4.74)
where:
RI is the Ryznar index
pHs is the saturation pH
pHa is the actual (measured) pH
The relationship between the RI and the LI is presented in the following equation:
(4.75)
where:
RI < 6, calcium carbonate scale deposition increases proportionately.
RI > 6, corrosion increases.
RI > 10, conditions are extremely aggressive.
(4.76)
where:
AI is the aggressiveness index
pH is the negative logarithm of the hydrogen ion concentration
Alk is the total alkalinity, mg/L CaCO3
HCa is the calcium hardness, mg/L CaCO3
Table 4.4 gives a classification of water according to the value of the AI.
TABLE 4.4
Aggressiveness Index
Value Description
<10 Highly aggressive
1011.9 Moderately aggressive
>12 Nonaggressive
'*********************************************************************************
'Program 4.18: Corrosion
'determines whether a sample is corrosive or precipitative
'*********************************************************************************
Imports System.Math
Public Class Form1
Dim H, ALK, HCa, pHa, pHs As Double
Dim compute As Char 'whether or not to compute Langelier & Ryznar indices
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 4.18: Determines
whether a sample is corrosive or precipitative"
Me.MaximizeBox = False
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.Height = 256 'hide the lower part of the form
label1.text = "Enter the hydrogen ion concentration (mol/L):"
label2.text = "Enter the total alkalinity (mg/K CaCO3):"
label3.text = "Enter the calcium hardness (mg/L CaCO3):"
label4.text = ""
Label4.AutoSize = False
Label4.Height = 40
Label4.Width = 297
Button1.Text = "&Calculate"
Button2.Text = "Compute Langelier & Ryznar indices >>"
Button3.Text = "Calculate indices"
compute = "N"
Label5.Text = "Enter measured pH of water:"
Label6.Text = "Enter saturation pH:"
Label7.AutoSize = False
Label7.Height = 40
Label7.Width = 297
Label7.Text = ""
End Sub
Sub calculateResults()
H = Val(textbox1.text)
ALK = Val(textbox2.text)
HCa = Val(textbox3.text)
Dim pH, AI As Double
Dim type As String
pH = -Log10(H)
AI = pH + Log10(ALK * HCa)
Select Case AI
Case Is < 10
type = "highly aggressive"
Case Is > 12
type = "Non aggressive"
Case Else
type = "moderately aggressive"
End Select
Label4.Text = "Aggressiveness Index: " + AI.ToString + vbCrLf + type
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click If compute = "N" Then
compute = "Y"
Me.Height = 426
Button2.Text = "Hide <<"
Else
compute = "N"
Me.Height = 256
Button2.Text = "Compute Langelier & Ryznar indices >>"
End If
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click pHa = Val(TextBox4.Text)
pHs = Val(TextBox5.Text)
Dim LI, RI As Double
LI = pHa - pHs
RI = 2 * pHs - pHa
Label7.Text = "Langelier Index = " + LI.ToString
Label7.Text += vbCrLf + "Ryznar Index = " + RI.ToString
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
End Sub
End Class
Example 4.18
Write a computer program to determine whether a water sample is corrosive or scale forming, using the different indexes (LI, RI, AI).
Data given include the parameters involved in the computations of each of the relative indexes.
Analysis of a water sample revealed the following: calcium hardness = 125 mg/L as CaCO3, alkalinity = 195 mg/L as CaCO3, hydrogen
ion concentration of 2.6 * 107 mol/L. Using the AI, determine whether this water is aggressive to asbestoscement pipes.
Use the computer program involved in (1) to verify computations conducted in (2).
SOLUTION
For solution to Example 4.18 (1), see the listing of Program 4.18.
Solution to Example 4.18 (2):
Given: HCa = 125, Alk = 195, [H+] = 2.6 * 107 mol/L.
Determine the pH as follows: pH = log[H+] = log2.6 * 107 = 6.57.
Find the AI as follows: AI = pH + log10(Alk)*(HCa) = 6.75 + log(195 * 125) = 10.96. Thus, AI = 10.96 < 11.9. This value shows that
the water is moderately aggressive to asbestoscement pipes (Table 4.4).
(4.77)
where:
Rmr is the rate of corrosion, m/s
K is the constant
wt is the weight loss, kg
A is the area of specimen, m2
t is the time of exposure, s
is the density, kg/m3
Example 4.19
1. Write a short computer program that determines the rate of corrosion of a metallic surface,
given the weight loss of material, wt (kg)or electrochemical equivalent, Ee (mg/C);
current, I (A); the area of specimen, A (m2); time of exposure, t(s); and the density of
material, (kg/m3).
2. In an electrochemical cell, the rate of corrosion of a 0.5 cm radius zinc anode is found to be
1.2 * 106 mm/s for an electric current of 90 mA. Determine the depth to which the anode is
immersed in the electrolyte to produce the aforementioned corrosion rate. For zinc, the
electrochemical equivalent = 0.3387 mg/C, the density = 7000 kg/m3, and K = 1.
Solution
1. For solution to Example 4.19 (1), see the listing of Program 4.19.
1. Solution to Example 4.19 (2): Given: r = 0.5 cm, Rmr = 1.2 * 106 mm/s, I = 90 mA, Ee =
2.
0.3387 mg/C, = 7000 kg/m3.
2. Use the corrosion rate equation (4.77) to find the corroded area as follows: A = Ee*I*K/Rmr
* = (0.3387 * 103 g/C*90 * 103 A)/(1.2 * 107*7 g/cm3) = 36.29 cm2. Area exposed to
corrosion = d2/4 + dh, where d is the diameter of anode and h is the depth of immersion.
3. Find the depth of immersion to produce given corrosion rate as follows: h = (A *r2)/ 2 =
(36.29 *0.52)/2**0.5 = 11.3 cm.
'*********************************************************************************
'Program 4.19: corrosion
'Determines the rate of corrosion of a metallic surface
'*********************************************************************************
Public Class Form1
Const PI = 3.14159
Dim Rmr, wt, A, t, k As Double
Dim I, Ee, rho, r, h As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load RadioButton1.Text = "Determine rate of
corrosion"
RadioButton2.Text = "Determine the depth of immersion for a given rate"
RadioButton1.Checked = True
Me.Text = "Program 4.19: Determines the rate of corrosion of a metallic
surface"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Button1.Text = "&Calculate"
Label7.Text = ""
TextBox6.Visible = False
Label6.Visible = False
End Sub
Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged If
RadioButton1.Checked Then
Label1.Text = "Constant, k:"
Label2.Text = "Weight loss, wt (kg):"
Label3.Text = "Area of specimen, A (m2):"
Label4.Text = "Time of exposure, t (s):"
Label5.Text = "Density of material, Rho (kg/m3):"
Label6.Visible = False
TextBox6.Visible = False
Else
Label1.Text = "Radius of specimen, r (cm):"
Label2.Text = "Rate of corrosion, Rmr (mm/s):"
Label3.Text = "The electric current, I (mA):"
Label4.Text = "The electrochemical equivalent, Ee (mg/C):"
Label5.Text = "Density of material, Rho (kg/m3):"
Label6.Text = "Constant, k:"
Label6.Visible = True
TextBox6.Visible = True
End If
End Sub
Sub calculateResults()
If RadioButton1.Checked Then
k = Val(TextBox1.Text)
wt = Val(TextBox2.Text)
A = Val(TextBox3.Text)
t = Val(TextBox4.Text)
rho = Val(TextBox5.Text)
Rmr = k * wt / (A * t * rho)
Label7.Text = "Rate of corrosion: " + FormatNumber(Rmr, 2) + " m/s"
Else
r = Val(TextBox1.Text)
'Convert from mm/s to cm/s
Rmr = Val(TextBox2.Text) / 10
'Convert from mA to A
I = Val(TextBox3.Text) / 1000
'Convert from mg/C to g/C
Ee = Val(TextBox4.Text) / 1000
'Convert from kg/m3 to g/cm3
rho = Val(TextBox5.Text) / 1000
k = Val(TextBox6.Text)
A = (Ee * I * k) / (Rmr * rho) 'corroded area
h = (A - (PI * (r ^ 2))) / (2 * PI * r) 'depth of immersion
Label7.Text = "Depth of immersion: " + FormatNumber(h, 2) + " cm"
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
End Sub
End Class
Settling Data
Time (min) Removal (Initial Solids Concentration 550 mg/L) (%)
Depth (m)
0.5 1.0 1.5 2.0
10 20 11 9 8
20 32 22 17 15
30 36 31 26 23
40 46 34 31 30
50 59 38 34 33
60 64 46 38 35
70 70 55 45 34
90 81 66 60 53
110 89 76 89 63
120 91 80 73 69
REFERENCES
American Water Works Association. 1980. Internal corrosion, J. Am Water Works Assoc., 72(5): 267279.
American Water Works Association. 1984. Determining integral corrosion potential in water supply system. J. Am Water Works Assoc.,
76(8):83.
American Water Works Association. 2011. Desalination of Seawater (M61): AWWA Manual of Water Supply. Denver, CO: American
Water Works Association.
American Water Works Association and Edzwald, J. 2010. Water Quality & Treatment: A Handbook on Drinking Water (Water Resources
and Environmental Engineering Series), 6th ed. New York: McGraw-Hill Professional.
Buros, O. K. 2000. The ABCs of Desalting. Topsfield, MA: International Desalination Association.
Committee Report. 1978. Disinfection. Am. Water Works Assoc. 70(4): 219.
Cotruvo, J., Voutchkov, N., Fawell, J., Payment, P., Cunliffe, D., and Lattemann, S. 2010. Desalination Technology: Health and
Environmental Impacts. Boca Raton, FL: CRC Press.
Davis, M. and Cornwell, D. 2006. Introduction to Environmental Engineering, 4th ed. New York: McGraw-Hill Science/Engineering/Math.
Degremont. 2007. Water Treatment Handbook, 7th ed. Paris, France: Lavoisier.
Dyer-Smith, P., Brown, Beveri and Co. 1983. Water disinfection status and trends. J. Water Sewage Treat. 2(4):13.
El-Hassan, B. M. and Abdel-Magid, I. M. 1986. Environment and Industry: Treatment of Industrial Wastes. Khartoum, Sudan: Institute of
Environmental Studies, Khartoum University.
Eliassen, R. R. T. and Shrindle, W. B. D. 1958. Experimental performance of miracle water condition. J. Am Water Works Assoc. 50:1371.
Hammer, M. J. Sr. and Hammer, M. J. Jr. 2011. Water and Wastewater Technology, 7th ed. Upper Saddle River, NJ: Prentice Hall.
Hoyt, B. P. et al. 1979. Evaluating home plumbing corrosion problems. J. Am Water Works Assoc. 71(12):720.
Huisman, L. 1977. Sedimentation and Flotation: Sedimentation and FlotationMechanical FiltrationSlow Sand FiltrationRapid
Sand Filtration. Herdruk, NL: Delft University of Technology.
Huisman, L., Sundaresan, B. B., Netto, J. M. D., Lanoix, J. N., and Hofkes, E. H. 1986. Small Community Water Supplies. New York: IRC.
IRC Rep. Intl. Appraisal Meeting, Nagpur, India, September 1519, 1980. 1981. Slow Sand Filtration for Community Water Supply in
Developing Countries, BS 16. The Hague, the Netherlands: IRC.
Lin, S. D. 2014. Water and Wastewater Calculations Manual, 3rd ed. New York: McGraw-Hill Education.
Logsdon, G. 2008. Water Filtration Practice: Including Slow Sand Filters and Precoat Filtration. Denver, CO: American Water Works
Association.
Mueller, J. A., Boyle, W. C., and Popel, H. J. 2002. Aeration: Principles and Practice, Vol. 11 (Water Quality Management Library). Boca
Raton, FL: CRC Press.
Narayan, R. M. 1983. An Introduction to Metallic Corrosion and Its Prevention. New Delhi, India: Oxford.
Nemerow, N. L., Agardy, F. J., and Salvato, J. A. 2009. Environmental Engineering, 6th ed. Hoboken, NJ: Wiley.
Peavey, H. S., Rowe, D. R., and Tchobanoglous, G. 1985. Environmental Engineering. New York: McGraw-Hill.
Pepper, I. L. and Gerba, C. P. 2006. Environmental and Pollution Science, 2nd ed. Amsterdam, the Netherlands: Academic Press.
Pescod, M. B., Abouzaid, H., and Sundaresan, B. B. 1986. Slow Sand Filtration: A Low Cost Treatment for Water Supplies in Developing
countries. Published for the World Health Organization Regional Office for Europe by the Water Research Center, UK, in collaboration
with the IRC, the Netherlands.
Punmia, B. C. 1979. Environmental Engineering Water Supply, Vol 1. New Delhi, India: Standard Book House.
Riffat, R. 2012. Fundamentals of Wastewater Treatment and Engineering. Boca Raton, FL: CRC Press.
Rowe, D. R. and Abdel-Magid, I. M. 1995. Handbook of Wastewater Reclamation and Reuse. Boca Raton, FL: Lewis Publishers.
Sawyer, C. N. and McCarty, P. L. 2002. Chemistry for Environmental Engineering and Science, 5th ed. Boston, MA: McGraw-Hill.
Shammas, N. K., Fair, G. M., Geyer, J. C., and Okun D. A. 2010. Water and Wastewater Engineering: Water Supply and Wastewater, 3rd
ed. Hoboken, NJ: Wiley.
Smith, P. G. and Scott, J. S. 2002. Dictionary of Water and Waste Management. London: IWA.
Steel, E. W. and McGhee, T. J. 1991. Water Supply and Sewerage, 6th ed. New York: McGraw-Hill.
Van Dijk, J. C. and Oomen, J. H. C. M. 1982. Slow Sand Filtration for Community Water Supply in Developing CountriesA Design
and Construction Manual. Technical Paper No. 11. The Hague, the Netherlands: IRC.
Viessman, W., Hammer, M. J., Perez, E. M., and Chadik, P. A. 2008. Water Supply and Pollution Control, 8th ed. Upper Saddle River, NJ:
Prentice Hall.
Wang, K. L. and Hung, Y. T. 2009. Handbook of Advanced Industrial and Hazardous Wastes Treatment (Advances in Industrial and
Hazardous Wastes Treatment). Boca Raton, FL: CRC Press.
Water Environment Federation. 2009. Design of Municipal Wastewater Treatment Plants MOP 8, 5th ed. (Wef Manual of Practice 8: Asce
Manuals and Reports on Engineering Practice, No. 76). McGraw-Hill Education.
5 Computer Modeling Applications for Wastewater Collection System and
Treatment Technology and Disposal
5.1 INTRODUCTION
The collection and disposal of wastewater from its sources (domestic, commercial, industrial,
agricultural, etc.) are of paramount importance to safeguarding public health and hygiene. Sewage ought to
be collected and conveyed as soon as possible from the point of production to a treatment facility or an
approved final disposal location with a minimum of cost. This chapter presents information dealing with
the terminology used in the wastewater collection field, such as the classification of sewers (sanitary,
combined, and storm), and the advantages and disadvantages of each of these systems. The methods used
to estimate the design or peak wastewater flows including extraneous water entering the sewers due to
infiltration and inflow are included. The rational method to estimate peak flows from storm water runoff
is covered, and a computer program to estimate the flow and the required storm sewer size is presented.
Also discussed are the fundamentals of sewer design considering the following items: uniform flow,
incompressible flow, Bernoullis equation, application of the momentum equation, continuity equation,
and determination of the hydraulic radius. The most frequently used equations, formulas, and models used
in the design of sewers are documented. Dry sewerage collection system and nano-bioreactor wastewater
technology are not discussed. The reader is advised to consult relevant sources.
This information lays the foundation for the development of computer programs for each of these
models. The computer programs can then be used to make rapid and repeated calculations for design and
evaluation of the various elements involved in sanitary sewer design. Equations to calculate the self-
cleaning velocities in sewers are presented, and a computer program is included that can be used for the
same purpose. A summary of the information needed and the steps involved in the design, layout,
construction, and installation of sanitary sewers are documented. The basic information needed includes
topographical, geological, aerial, and developmental maps. The next step in the process is the sizing and
required gradients for the sewers as well as the location for manholes. Other important elements in the
design of sanitary sewers are included here.
Equations that can be applied in the evaluation of sulfide buildup in sewers flowing both full and
partially full are presented, and a computer program is incorporated for rapid and easy determinations for
the various variables involved. The last section deals with the design, operation, and construction of
waste disposal systems for rural areas. Septic tanks are the most often used systems in this situation;
however, they are also the avenue of last resort. A computer program for septic tank sizing and layout that
incorporates the structural design of septic tanks is displayed. A brief discussion of Imhoff tanks
concludes this chapter.
Wastewater may be described as A combination of the liquid or water-carried wastes removed from
residences (domestic), institutions, commercial, and industrial establishments together with such
groundwater, surface water, and storm water as may be present (Rowe and Abdel-Magid 1995; Metcalf
and Eddy 2013). Wastewater is a complex heterogeneous solution that can pollute or contaminate our
environment, namely, water, air, food, and soil. Such conditions demand appropriate collection, proper
treatment, and final disposal of wastewater in order to safeguard the environment and protect human
health and welfare (Rowe and Abdel-Magid 1995). The first section deals with the environmental
problems associated with the discharge of inadequately treated wastewater. The sources of wastewater,
as well as the evaluation and selection of the wastewater design flow rates (minimum, maximum, average,
and peak), are presented. Computer programs are developed to calculate these various flow rates. A
discussion of the relationship between BOD5 and the population equivalent (PE) is accompanied by a
computer program that correlates these two factors.
The next section gives the reasons for treating wastewater and the classification and selection of
treatment processes (physical, chemical, and biological). The basic principles involved in the design of
grit chambers and a computer program that can be used for this purpose are provided. The most
commonly used biological processes such as activated sludge (and its many modifications), trickling
filters (high and low rates), and waste stabilization ponds (WSPs) are presented. In all cases, computer
programs to aid in the evaluation and design of each system are formulated. The operation and design of
systems that can be used to render sludge suitable for disposal or use are considered. A computer
program for the design of anaerobic digesters is presented here. Also discussed is the specific resistance
test used to evaluate the dewatering characteristics of a sludge, which is accompanied by a computer
program for determination of both specific resistance and the compressibility coefficient for sludge. The
design and scaling up of centrifugal sludge dewatering units are considered, and computer programs that
can be used for this purpose are developed. The last section is devoted to the ultimate disposal of treated
wastewater, including dilution (which, of course, is no solution to pollution) and discharge to surface
water such as rivers, lakes, reservoirs, and estuaries. Computer programs that can be used to evaluate the
effects of wastewater discharges in each of these situations are included.
The problems associated with inadequately treated wastewater discharges include the following
(Barnes et al. 1981; Peavy et al. 1988; Rowe and Abdel-Magid 1995; Wang and Hung 2005; Abdel-
Magid and Abdel-Magid 2015; Metcalf and Eddy 2013): Transmission of diseases (disease-causing
agents such as bacteria, protozoa, viruses, and helminthes) and other public health long-term
physiological effects (such as newly created organic substances) Accumulation of highly persistent
detergents, pesticides, and other toxic substances Generation of odors (e.g., hydrogen sulfide,
ammonia, mercaptans, and other trace gases containing sulfurs, hydrogen, and nitrogen) Pollution of
bathing sites with oil, grease, and other undesirable debris Establishment of eutrophic conditions
(enrichment of water by plant nutrients, etc.) Production of objectionable and dangerous levels of
solids in wastewater along the banks of rivers and streams, which leads to degradation of water quality
both for groundwater and surface water Destruction of fish and wildlife
Contamination of water supplies
Aesthetic objections
Here the terms sewage and wastewater are often used interchangeably. In some cases, however, the term
sewage indicates that human body wastes are present. The term wastewater is more inclusive and
indicates not only the presence of discharges from individual homes but also commercial, institutional,
and industrial discharges.
Rain water keeps sewage fresh, making it easier and more economical to treat.
Sewage is diluted.
Water provides automatic flushing.
Cleaning is easier because sewers are bigger in size.
House plumbing is economical.
With much higher flows, a larger and more expensive wastewater treatment facility is needed.
Operational problems occur when the capacity of the treatment facility is exceeded (lowered
efficiency).
Grit, sand, and other debris interfere with operation of the treatment facility.
With increased flows during storms, the sewer lines can be surcharged. Sewer lines normally are not
designed to handle flows under pressure.
Washout of solids in the secondary treatment system can wipe out the efficiency of the treatment plant
and result in pollution of the receiving rivers or streams.
Oil, grease, rubber tire debris, and toxic trace metals can be present in the runoff from roads and
streets.
(5.1)
where:
Qp is the peak flow, m3/s
Qa is the average flow, m3/s
(5.2)
where:
Q is the peak flow rate at point, m3/s
A is the drainage area upstream of point, km2
I is the mean rainfall intensity for a duration equal to the time of concentration (the time required for the
entire tributary area to contribute runoff from heavy rainfall to the flow at the point, i.e., flow time from
the most remote part of the area to the point), mm/h c is the coefficient of runoff, dimensionless (0 < c < 1,
see Table 5.1) TABLE 5.1
Typical Values of c for the Rational Method
Area C
City and commercial 0.700.95
Industrial 0.500.80
Light areas 0.600.90
Heavy areas
Residential 0.300.50
Single family 0.400.60
Multiunits, detached 0.600.75
Multiunits, attached 0.250.40
Suburban
Parks and undeveloped land 0.100.30
Pavement 0.700.95
Asphaltic 0.800.95
Concrete 0.700.85
Brick
Playgrounds 0.200.35
Lawns 0.050.35
Watertight roofs 0.700.95
Woodland areas 0.010.20
Source: Abdel-Magid, I. M., and Abdel-Magid, M. I. M., Problem Solving in Environmental Engineering, CreateSpace Independent
Publishing Platform, 2015; Davis, M. L., and Cornwell, D. A., Introduction to Environmental Engineering, 4th ed, McGraw-Hill
Science/Engineering/Math, 2006; Hammer, M. J. Sr., and Hammer, M. J. Jr., Water and Wastewater Technology, 7th ed, Prentice
Hall, Upper Saddle River, NJ, 2011; Viessman, W., and Lewis, G. L., Introduction to Hydrology, 5th ed, Prentice Hall, Upper
Saddle River, NJ, 2002; Viessman, W. Jr., et al. Water Supply and Pollution Control, 8th ed, Prentice Hall, Upper Saddle River,
NJ, 2008; Nathanson, J. A., Basic Environmental Technology: Water Supply, Waste Management & Pollution Control, 5th ed,
Prentice Hall, Upper Saddle River, NJ, 2007.
In storm sewers, greater velocities are required than in sanitary sewers because of the heavy sand and
grit, which are washed into them. The minimum allowable velocity is 0.75 m/s, and 0.9 m/s is desirable.
Because of abrasive character of the solids, excessively high velocities should be avoided, 2.4 m/s being
considered the desirable upper limit (McGhee and Steel 1991).
Example 5.1
1. Write a computer program to estimate the diameter of a sewer for a suburb of any area, A
(km2); given the peak flow rate at point, Q (m3/s); the drainage area upstream of point, A
(km2); the mean rainfall intensity, I (mm/h); and the coefficient of runoff, c (as presented in
Table 5.1).
2. A circular storm sewer is required to serve an area of 900 ha; the average ground slope is 1
in 500. Determine the size of the sewer at point of discharge knowing that the runoff
coefficient is 0.4, the time of concentration is 1000 s, and n = 0.013. Take I = 750/(t+10).
3. Use the computer program developed in (1) to support manual computations conducted in
(2).
Solution
1. For solution to Example 5.1 (1), see the listing of Program 5.1.
a Solution to Example 5.2 (2): Given: A = 900 ha = km2, j = 1/500 = 0.002, c = 0.4, t = 1000 s
2.
= 1000/60 = 16.7 min.
b Find the rainfall intensity as follows: I = 750/(16.7 + 10) = 28.1 mm/h.
c Find Q as 0.278 * c * I * A = 0.278 * 0.4 * 28.1 * 9 = 28.1 m3/s = 1687.3 m3/min.
The diameter of the sewer and flow rate through it may be determined from a nomograph
d corresponding to the specified slope (Fair et al. 1966; Peavy et al. 1988; McGhee and Steel
1991; Jonathan et al. 2003; Bizier 2007; Mays 2010; Hicks 2014; Alderdiri et al. 2015;
Alderdiri and Abdel-Magid 2015). Alternatively, the following procedure can be used: v =
(1/n)(D/4)2/3*j1/2, and with Q = (/4)*D2*v, it gives: D = (45/3*Q*n/*j1/2)3/8 = (45/3*28.1 *
0.013/ * 0.0021/2)3/8 = 3.4 (take 3.5) m, which gives a discharge of Q = (/4) * (3.4)2 *
(3.4/4)2/3 * (0.002)1/2/0.013 = 28 m3/s.
'*********************************************************************************
'Program 5.1: Water Collection
'*********************************************************************************
Public Class Form1
Const pi = 3.1415962#
Const g = 9.81
Dim A, n, c, j, t As Double
Dim I, Q, D As Double
Dim c_table() As Double =
{
0.95, 0.8, 0.9, 0.5, 0.6, 0.75, 0.4, 0.3,
0.95, 0.95, 0.85, 0.35, 0.35, 0.95, 0.2
}
'*********************************************************************************
'Code in Form_Load sub will be executed when the form is loading,
'i.e., first thing after program loads into the memory
'*********************************************************************************
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.MaximizeBox = False
Me.Text = "Program 5.1: Water Collection"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Drainage area, A (Km2):"
Label2.Text = "Enter the value of n:"
Label3.Text = "Type of area for runoff coefficient, c:"
Label4.Text = "Average ground slope, j:"
Label5.Text = "Time of concentration, t (sec):"
GroupBox1.Text = " Output: "
Label6.Text = "The required diameter of sewer D (m):"
Label7.Text = "This delivers a discharge of Q (m3/s):"
Label8.Text = "Decimal Places:"
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
NumericUpDown1.Value = 2
ComboBox1.Items.Clear()
ComboBox1.Items.Add("City and commercial")
ComboBox1.Items.Add("Industrial: Light area")
ComboBox1.Items.Add("Industrial: Heavy area")
ComboBox1.Items.Add("Residential: Single family")
ComboBox1.Items.Add("Residential: Detached multi units")
ComboBox1.Items.Add("Residential: Attached multi units")
ComboBox1.Items.Add("Residential: Suburban")
ComboBox1.Items.Add("Parks and undeveloped land")
ComboBox1.Items.Add("Pavement: Asphaltic")
ComboBox1.Items.Add("Pavement: Concrete")
ComboBox1.Items.Add("Pavement: Brick")
ComboBox1.Items.Add("Playgrounds")
ComboBox1.Items.Add("Lawns")
ComboBox1.Items.Add("Watertight roofs")
ComboBox1.Items.Add("Woodland areas")
ComboBox1.SelectedIndex = 0
End Sub
Function get_c(ByVal index As Integer) As Double
If index < 0 Or index > 14 Then Return 0
Return c_table(index)
End Function
Sub calculateResults()
A = Val(TextBox1.Text)
n = Val(TextBox2.Text)
j = Val(TextBox3.Text)
t = Val(TextBox4.Text)
If ComboBox1.SelectedIndex = -1 Then
MsgBox("Please select type of area from list.",
vbOKOnly Or vbInformation)
Exit Sub
End If
c = get_c(ComboBox1.SelectedIndex)
t = t / 60 'convert to minutes
I = 750 / (t + 10) 'rainfall intensity
Q = 0.278 * c * I * A
D = (4 ^ (5 / 3) * Q * n / (pi * j ^ 0.5)) ^ (3 / 8)
Q = pi / 4 * D ^ 2 * (D / 4) ^ (2 / 3) * j ^ 0.5 / n
showResults()
End Sub
Sub showResults()
TextBox5.Text = FormatNumber(D, NumericUpDown1.Value)
TextBox6.Text = FormatNumber(Q, NumericUpDown1.Value)
End Sub
'*********************************************************************************
'Code in TextChanged member of the TextBox will be executed
'when the user changes the text.
'The following code will recalculate the results and show them when ever
'the user changes the input.
'*********************************************************************************
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TextBox1.TextChanged calculateResults()
End Sub
Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TextBox2.TextChanged calculateResults()
End Sub
Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TextBox3.TextChanged calculateResults()
End Sub
Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TextBox4.TextChanged calculateResults()
End Sub
'*********************************************************************************
'Whenever a different number of decimals is selected, re-show the results.
'*********************************************************************************
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles NumericUpDown1.ValueChanged showResults()
End Sub
End Class
One-dimensional flow conditions (velocity of flow is uniform across each section of flow)
Incompressible flow (fluid motion with negligible changes in density), where pressure flow totally
fills a closed conduit, except for the possible occurrence of water hammer in pressure conduits
Steady-state flow (flow conditions at any point in fluid do not change with time) with constant rate
of flow; actually flow is quasi-steady (varies significantly from hour to hour) Valid continuity
principle (Q = A*v)
Valid Bernoulli equation: Total energy (at a point in a flowing fluid) per unit mass = (potential
energy + pressure energy + kinetic energy), or
(5.3)
where:
H is the total energy (total head, energy head), m
Z is the elevation of point on a streamline above horizontal datum, m
P is the pressure at point, Pa
is the fluid specific weight, N/m3
v is the average velocity for all streamlines, m/s
(5.4)
where:
F is the sum of all forces acting on fluid contained between two cross sections (pressure, weight,
constraints-friction), N
v is the average velocity, m/s
is the density
Hydraulic radius is given by
(5.5)
where:
rH is the hydraulic radius (= D/4 for circular closed conduits), m A is the area, m2
Wp is the wetted perimeter of flow cross sections, m
(5.6)
where:
hf is the friction head, m
f is the friction factor
v is the velocity of flow, m/s
L is the length of conduit, m
g is the gravitational acceleration, m/s2
D is the diameter of circular conduit, m
Chezy equation
(5.7)
where:
cf is the friction coefficient, or coefficient of DeChezy, m1/2/s rH is the hydraulic radius, m
j is the slope of invert or bed, m/m
Mannings formula
Metric units:
(5.8)
English units:
(5.9)
where:
v is the mean velocity of flow, m/s
j is the slope of energy grade line, dimensionless
n is the Kutter coefficient of roughness, which is equal to the Mannings coefficient for types of pipe
commonly used in sewer construction HazenWilliams formula
Metric units:
(5.11)
English units:
(5.12)
where c is the coefficient that depends on the roughness of conduit, 100 < c < 140.
PrandtlColebrook formula
(5.13)
where:
v is the kinematic viscosity, m2/s
D is the diameter of sewer, mm
K is the factor, usually taken as 0.025 mm
v is the velocity of flow, m/s
j is the slope, m/km
(5.14)
(5.15)
where c = factor (= 61.5).
The flow velocity should not exceed a maximum value to avoid excessive erosion and dissipation of
energy at the point of discharge. Recommended limits are as follows: For clean water, velocities up to
12 m/s are recommended.
For sanitary sewers, velocities up to 3 m/s are recommended (possibly up to 5 m/s).
For storm sewers, velocities up to 5 m/s are allowed (possibly up to 10 m/s).
A minimum velocity should be maintained to avoid accumulation of deposits and their biodegradation
(to avoid production of hydrogen sulfide, which promotes crown corrosion).
Example 5.2
1. Write a computer program that would allow the computation of velocity (m/s) of flow in a
pipe using one of the following formulae, given the relevant data for each: DarcyWeisbach
equation, Chezy equation, Mannings formula, Kutter formula, HazenWilliams formula,
PrandtlColebrook formula, Strickler formula, or Scimemi formula.
2. Using Mannings equation, find the velocity of flow and sewer capacity for a concrete sewer
of diameter 1.52 m laid at a slope of 0.0008, when sewer is flowing full. (Take Mannings
friction coefficient equal to 0.013.) Solution
1. For solution to Example 5.2 (1), see the listing of Program 5.2.
a. Solution to Example 5.2 (2): Given: D = 1.52 m, j = 0.008.
2.
b. Determine the hydraulic radius as follows: rH = (D2/4)/(D) = D/4 = 1.52/4 = 0.38 m.
c. Find the average velocity of flow in the pipe as follows: v = rH2/3 * j1/2/n = 0.382/3 *
0.00081/2/0.013 = 1.14 m/s.
d. Determine the capacity of the sewer as follows: Q = v * A = 1.14 * ( * 1.522)/4 = 2.07 m3/s.
'*********************************************************************************
'Program 5.2: Friction Flow in Pipes
'*********************************************************************************
Imports System.Math
Public Class Form1
Const pi = 3.1415962#
Const g = 9.81
Dim D, hf, L, f, v, n, j, Cf, rH, c, fact As Double
Dim vis, k, z As Double
'*********************************************************************************
'Code in Form_Load sub will be executed when the form is loading,
'i.e., first thing after program loads into the memory
'*********************************************************************************
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 5.2: Friction Flow
in Pipes"
Me.MaximizeBox = False
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
ListBox1.Items.Clear()
ListBox1.Items.Add("Darcy-Weisbach equation")
ListBox1.Items.Add("Chezy equation")
ListBox1.Items.Add("Mannings equation")
ListBox1.Items.Add("Kutter-Mannings formula")
ListBox1.Items.Add("Hazen-Williams formula")
ListBox1.Items.Add("Prandtl-Colebrook formula")
ListBox1.Items.Add("Strickler formula")
ListBox1.Items.Add("Scimemi formula (Hazen)")
ListBox1.SelectedIndex = 0 'Select the first option
Label1.Text = "To compute the velocity of flow using:"
Label2.Text = "Enter the diameter of pipe (m):"
GroupBox1.Text = "Use Metric Units:"
RadioButton1.Checked = True
RadioButton1.Text = "Yes"
RadioButton2.Text = "No"
GroupBox1.Visible = False
GroupBox2.Text = " Output: "
Label6.Text = "The velocity, v (m/s):"
Label7.Text = "Sewer Capacity, A (m3/s):"
End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged If
ListBox1.SelectedIndex < 0 Then Exit Sub
Select Case ListBox1.SelectedIndex
Case 0
'Darcy-Weisbach equation
Label3.Text = "Enter the head loss, hf (m):"
Label4.Text = "Enter length of pipe, L (m):"
Label5.Text = "Enter friction factor, f:"
GroupBox1.Visible = False
Label3.Visible = True
Label4.Visible = True
Label5.Visible = True
TextBox2.Visible = True
TextBox3.Visible = True
TextBox4.Visible = True
Case 1
'Chezy equation
Label3.Text = "Enter Chezy coefficient Cf:"
Label4.Text = "Enter slope of the pipe, j:"
GroupBox1.Visible = False
Label3.Visible = True
Label4.Visible = True
Label5.Visible = False
TextBox2.Visible = True
TextBox3.Visible = True
TextBox4.Visible = False
Case 2
'Mannings equation
Label3.Text = "Enter slope of the pipe, j:"
Label4.Text = "Enter Mannings coefficient n:"
GroupBox1.Visible = True
Label3.Visible = True
Label4.Visible = True
Label5.Visible = False
TextBox2.Visible = True
TextBox3.Visible = True
TextBox4.Visible = False
Case 3
'Kutter Mannings formula
Label3.Text = "Enter slope of the pipe, j:"
Label4.Text = "Enter Kutter's coefficient, n:"
GroupBox1.Visible = False
Label3.Visible = True
Label4.Visible = True
Label5.Visible = False
TextBox2.Visible = True
TextBox3.Visible = True
TextBox4.Visible = False
Case 4
'Hazen-Williams formula
Label3.Text = "Enter slope of the pipe, j:"
Label4.Text = "Enter Hazen-William coefficient, c:"
GroupBox1.Visible = True
Label3.Visible = True
Label4.Visible = True
Label5.Visible = False
TextBox2.Visible = True
TextBox3.Visible = True
TextBox4.Visible = False
Case 5
'Prandtl-Colebrook formula
Label3.Text = "Enter slope of the pipe, j:"
Label4.Text = "Enter kinematic viscosity, v (m2/s):"
Label5.Text = "Enter factor k:"
GroupBox1.Visible = False
Label3.Visible = True
Label4.Visible = True
Label5.Visible = True
TextBox2.Visible = True
TextBox3.Visible = True
TextBox4.Visible = True
Case 6
'Strickler formula
Label3.Text = "Enter slope of the pipe, j:"
GroupBox1.Visible = False
Label3.Visible = True
Label4.Visible = False
Label5.Visible = False
TextBox2.Visible = True
TextBox3.Visible = False
TextBox4.Visible = False
Case 7
'Scimemi formula (Hazen)
Label3.Text = "Enter slope of the pipe, j:"
GroupBox1.Visible = False
Label3.Visible = True
Label4.Visible = False
Label5.Visible = False
TextBox2.Visible = True
TextBox3.Visible = False
TextBox4.Visible = False
End Select
End Sub
Sub calculateResults()
If ListBox1.SelectedIndex < 0 Then Exit Sub
D = Val(TextBox1.Text)
rH = D / 4
Select Case ListBox1.SelectedIndex
Case 0
'Darcy-Weisbach equation
hf = Val(TextBox2.Text)
L = Val(TextBox3.Text)
f = Val(TextBox4.Text)
v = (hf * D * 2 * g / (L * f)) ^ 0.5
Case 1
'Chezy equation
j = Val(TextBox2.Text)
Cf = Val(TextBox3.Text)
v = Cf * ((rH * j) ^ 0.5)
Case 2
'Mannings equation
n = Val(TextBox2.Text)
j = Val(TextBox3.Text)
'Using metric units?
If RadioButton1.Checked Then
fact = 1
Else
fact = 1.49
End If
v = fact * rH ^ (2 / 3) * (j ^ 0.5) / n
Case 3
'Kutter Mannings formula
j = Val(TextBox2.Text)
n = Val(TextBox3.Text)
Dim v1 As Double = (23 + (0.00155 / j) + (1 / n))
Dim v2 As Double = 1 + (((23 + (0.00155 / j)) * n) / Sqrt(rH))
Dim v3 As Double = Sqrt(rH * j)
v = (v1 / v2) * v3
Case 4
'Hazen-Williams formula
j = Val(TextBox2.Text)
c = Val(TextBox3.Text)
'Using metric units?
If RadioButton1.Checked Then
fact = 0.85
Else
fact = 1.32
End If
v = fact * c * (rH ^ 0.63) * (j ^ 0.54)
Case 5
'Prandtl-Colebrook formula
j = Val(TextBox2.Text)
vis = Val(TextBox3.Text)
k = Val(TextBox4.Text)
z = (2 * g * D * j) ^ 0.5
v = -2 * log10((2.51 * vis / (D * z)) + (k / (3.71 * D))) * z
Case 6
'Strickler formula
j = Val(TextBox2.Text)
c = 100
v = c * (rH ^ (2 / 3)) * (j ^ 0.5)
Case 7
'Scimemi formula (Hazen)
j = Val(TextBox2.Text)
c = 61.5
v = c * (D ^ 0.68) * (j ^ 0.56)
End Select
TextBox5.Text = v.ToString
Dim A As Double = pi * (D ^ 2) / 4
Dim Q As Double = v * A
TextBox6.Text = Q.ToString
End Sub
(5.16)
where:
D is the diameter of the sewer
d is the depth of the flow
is the angle subtended between the two radii formed at the ends of chord of partial depth From Figure
1.5.2, the following equations can be developed: For a pipe flowing full:
Area: Af = D2/4
Wetted perimeter: (wp)f = D
Hydraulic radius:
(5.17)
Velocity of flow:
(5.18)
(5.19)
(5.20)
Wetted perimeter:
(5.21)
Hydraulic radius:
Velocity of flow:
(5.22)
Flow:
(5.23)
(5.24)
(5.25)
(5.26)
(5.27)
Table 5.2 can be developed from the above Equations 5.20 through 5.27.
TABLE 5.2
Design Computations for Partial Pipe Flow
Example 5.3
1. Write a computer program to determine the velocity, the gradient (slope), and the rate of
flow for a sewer flowing partially full at depth, d (m), given the sewer diameter, D (m), and
the velocity of the sewer when flowing full, vf (m/s).
2. A sewer of diameter 150 mm is to flow at a depth of 40% on a grade that enables self-
cleaning, similar to that at full depth at a velocity of 0.85 m/s. Find the needed grades,
associated velocities, and flow rates at full depth and at 40% depth. Take Mannings
coefficient of friction to be equal to 0.013.
Solution
1. For solution to Example 5.3 (1), see the listing of Program 5.3.
2. Solution to Example 5.3 (2):
Thus, velocity
'*********************************************************************************
'Program 5.3: Capacity of flow estimates
'*********************************************************************************
Imports System.Math
Public Class Form1
Const g = 9.81
Dim D, dD, vf, n, rH, j, Q, z As Double
Dim phi, Ap, vp As Double
Dim ApAf As Double
'********************************************************************************
'Code in Form_Load sub will be executed when the form is loading,
'i.e., first thing after program loads into the memory
'********************************************************************************
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.MaximizeBox = False
Me.Text = "Program 5.3: Capacity of flow estimates"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Button1.Text = "&Calculate"
Label1.Text = "Enter the diameter of sewer, D (m):"
(5.28)
where:
vsc is the self-cleansing velocity, m/s
rH is the hydraulic radius, m
b is the dimensionless constant (sediment-scouring characteristics, see Table 5.3) s.g. is the specific
gravity, dimensionless
d is the diameter of sediment grain, m
n is the roughness factor (Manning and Kutter factor), m1/6
f is the friction (DarcyWeisbach) factor, dimensionless (usually 0.020.03) (McGhee and Steel 1991)
TABLE 5.3
Values of b
Value of b Significance
0.04 To start motion of clean granular particles
0.8 For adequate self-cleansing of cohesive material
Source: McGhee, T. J., and Steel, E. W., Water Supply and Sewerage, 5th ed. McGraw-Hill College, 1991.
A minimum velocity is often accepted as the design criterion. As such, the recommended velocities of
Table 5.4 may be adopted. Generally, it is desirable to have a minimum velocity of 0.91 m/s or more
whenever possible. As such, 0.6 m/s < minimum design velocity < 3.5 m/s at peak flow.
TABLE 5.4
Recommended Minimum Velocities
Sewer (vsc)min (m/s)
Sanitary <0.61
Storm <0.75
A minimum diameter for a manhole is 1.22 m. A straight sewer is to be used between manholes. Large
accessible sewers may be curved, and manholes may be placed at 100200 m intervals. The spacing for
manholes is in the range of 90150 and 150300 m for large diameter sewers.
6 Sanitary sewers should not be installed in the same trench as water mains in order to protect
public health (Health Education Services 1990).
7 No sewers line should pass under a building.
8 Sewer lines should be installed down the center line of the lanes rather than the centerline of the
streets. In this way, one lane is always available to keep traffic moving. In wide streets, sewers
can be laid outside the curb between the curb and the sidewalk.
9 Coordination between utilities responsible for power poles, gas meters, telephone junction
boxes television wires, and so on is necessary to plan for construction and layout of the sewer
lines. This planning can help avoid conflicts and problems that may arise among the various
organizations involved.
10 Planting of trees and shrubs and construction of fences or retaining walls that interfere with
access to the sewer lines should be controlled or prohibited.
11 Integrity of a sewer line (leakage) is tested for by a low-pressure air test. Water testing
generally has been replaced by low-pressure air testing (Health Education Services 1990).
12 Combined sewers should now be prohibited in order to prevent present and future wastewater
treatment problems (see Section 5.2.1 for disadvantages).
(5.29)
where:
f is the defined function (see Table 5.5)
BODe is the effective biochemical oxygen demand, mg/L
wp is the wetted perimeter, ft
j is the hydraulic slope, dimensionless
Q is the discharge volume, ft3/s
B is the surface width, ft
TABLE 5.5
Sulfide Condition for Different Values of f
f Value Sulfide Condition
f < 5,000 Sulfide rarely generated
5,000 to 10,000 Marginal condition of sulfide generation
> 10,000 Sulfide generation common
Source: From Joint Task Force of the American Society of Civil Engineers and the Water Pollution Control Federation, Gravity Sanitary
Sewer Design and Construction, ACSE Manuals and Reports on Engineering, Practice Number 60, ASCE WPCF, New York,
1982. Reprinted by permission of the publisher, ASCE.
Example 5.4
1. Write a computer program to estimate the likelihood of sulfide buildup in a sewer, given the
pipe diameter of sanitary sewer, D (mm); the flow rate, Q (m3/s); the slope, j (m/m); the
wetter perimeter, wp (ft); the surface width of flow, B (ft); and the effective biochemical
oxygen demand, BODe (mg/L). Let the program indicate the level of sulfide generation based
on Table 5.5.
2. A sanitary sewer of pipe diameter 600 mm (24) carries a flow = 2.2 m3/min at a slope =
0.0015. Taking wetted perimeter = 0.82 m and surface width of flow = 1 m, give an
indicator of the likelihood of sulfide buildup in the sewer, knowing that the effective
biochemical oxygen demand = 295 mg/L.
Solution
1. For solution to Example 5.4 (1), see the listing of Program 5.4.
a. Solution to Example 5.4 (2): Given: d = 600 m, Q = 2.2 m3/min = 2.2 * 35.3147/60 = 1.295
2.
cfs, j = 0.0015, wp = 0.82 m = 0.82 * 3.2808 = 2.69 ft, width = B = 1 m = 1 * 3.2808 =
3.2808 ft, BOD = 295mg/L.
b. Determine the indicator of sulfide buildup as: f = BODe * wp/(j1/2 * Q0.33 * B) = 295 *
2.69/[(0.0015)1/2 * 1.2950.33 * 3.2808] = 5734.6.
c. By comparing this value with values outlined in Table 5.5, it can be concluded that the value
5735 indicates a marginal condition for sulfide generation.
'*********************************************************************************
'Program 5.4: Sulfide Build Up Indicator
'*********************************************************************************
Imports System.Math
Public Class Form1
Const g = 9.81
Dim D, Q, S, Wp, B, BOD, Z As Double
'********************************************************************************
'Code in Form_Load sub will be executed when the form is loading,
'i.e., first thing after program loads into the memory
'********************************************************************************
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 5.4: Sulfide Build
up Indicator"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Enter the diameter of the sewer, D (m):"
Label2.Text = "Enter the flow rate in the sewer, Q (m3/s):"
Label3.Text = "Enter the slope of the pipe, S:"
Label4.Text = "Enter the wetter perimeter, Wp (m):"
Label5.Text = "Enter the surface width of flow, b (m):"
Label6.Text = "Enter the effective biochemical demand, BOD (mg/L):"
GroupBox1.Text = " Output: "
Label7.Text = ""
Button1.Text = "&Calculate"
End Sub
Sub calculateResults()
D = Val(textbox1.text)
Q = Val(textbox2.text)
S = Val(textbox3.text)
Wp = Val(textbox4.text)
B = Val(textbox5.text)
BOD = Val(textbox6.text)
D = D * 0.3048 'convert to ft
Q = Q / (0.3048 ^ 3) / 60 'convert to cfs
Wp = Wp / 0.3048 'convert to ft
B = B / 0.3048 'convert to ft
Z = BOD * Wp / (S ^ 0.5 * Q ^ 0.33 * B)
Dim R As String
If Z < 5000 Then
R = "Sulfide rarely generated"
ElseIf Z <= 10000 Then
R = "Marginal condition of sulfide generation"
Else
R = "Sulfide generation common"
End If
Label7.Text = "Sulfide buildup indicator Z = " + FormatNumber(Z, 2)
Label7.Text += vbCrLf
Label7.Text += R
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
End Sub
End Class
(5.30)
where:
dSu /dt is the increase in sulfide concentration, mg/L*h
a is the coefficient (= 0.3 mm/h) (Bizier 2007)
Di is the internal diameter of sewer pipe, mm
(5.31)
where:
BOD is the climate BOD, mg/L
T is the temperature, C
is the temperature coefficient (may be taken as equal to 1.07) (Bizier 2007)
(5.32)
where:
dSu /dt is the rate of change of total sulfide concentration, mg/L*h a is the effective sulfide flux
coefficient (a = 0.4 * 103 m/h for DO < 0.5 mg/L; a = 0 when DO is high) m/h (Bizier 2007) rH is the
hydraulic radius of stream, m
b is the empirical coefficient, sulfide loss coefficient (= 0.64 [conservative] 0.96 [less conservative
value]) (Bizier 2007) Su is the total sulfide concentration, mg/L
j is the energy gradient of stream
v is the velocity of flow, m/s
Dm is the mean hydraulic depth, ft
Equation 5.32 should not be used for systems when DO > 0.5 mg/L or for sanitary sewers with an
effective slope > 0.6% (Bizier 2007). Sulfide concentrations approach a limiting value (Sulim), when
Equation 5.32 approaches zero (Bizier 2007). This can be represented by Equation 5.33, taking the value
of 0.96 for the sulfide loss coefficient, b (Bizier 2007).
(5.33)
Sulfide generation in a long reach of sewer line with uniform slope and flow can be determined from
the following equation (Bizier 2007):
(5.34)
where:
Su1 is the sulfide concentration at upstream location, mg/L
Su2 is the sulfide concentration at downstream location, mg/L
t is the time of flow from upstream location to downstream location, h
5.3.1.1 Introduction
A septic tank is an underground (covered) box (Fair et al. 1966; Mara 1980; Peirce et al. 1997; Jonathan
Ricketts et al. 2003; Nemerow et al. 2009; Metcalf and Eddy 2013; Hicks 2014; Abdel-Magid and
Abdel-Magid 2015). The tank receives wastewater and treats it in a horizontal flow pattern. It removes
solids and promotes partial deposition. Functions taking place in a septic tank include settling of solids,
flotation of grease, anaerobic decomposition of solids, and storage of sludge. The retention of large solids
and grease is essential to avoid plugging final disposal localities, such as absorption fields. The liquor
within the tank has a considerable detention time to maximize solid deposition. For large installations
serving multiple families or institutions, a shorter detention time may be adhered to.
Figures 5.3 and 5.4 illustrate the zones that are found in a septic tank:
FIGURE 5.4 A schematic diagram of a septic tank: (a) elevation; (b) side view; (c) plan.
The materials that usually are used in the construction of a septic tank include concrete, perforated
reinforced concrete, concrete blocks, steel, brick, stone masonry, and fiberglass. The septic tank may be
of a rectangular or circular (prefabricated concrete pipes) shape.
Selection of the location of the tank (U.S. Agency for International Development (a) 1982) To be
located downhill
To be located at least 15 m from the nearest water supply system (including neighbors) To be located
at least 3 m from the nearest building
Rain or surface water not to flow over or stand on the tank
Vehicles not to drive over the tank
Determination of tank capacity and dimensions
Determination of necessary labor, materials, and tools.
Maintenance of the septic tank
Sludge removed every 25 years (under normal loading conditions)
Sludge discharged to a nearby wastewater treatment plant for treatment or pumped into the soil
(avoiding groundwater pollution) Use of strong bactericidal cleansers by householders or use of
unnecessary amounts of detergents discouraged With good maintenance, a tank can last for 20 years
Tank inspected at least once a year to determine if it needs cleaning; tank needs to be cleaned if the
depth of sludge exceeds one-third of liquid depth or when the bottom of the scum layer is within 75
mm of the bottom of the outlet pipe T fitting (U.S. Agency for International Development (a) 1982)
Removing crust (black-colored digesting sludge) to be avoided when desludging the tank General
information that can be helpful in designing a septic tank is as follows:
1. Tank should receive all sewage from the building to be served (this includes excreta and wash
water and excludes rainwater, surface water, or subsurface drainage). Determine the amount of
sewage entering the tank during each 24 h period = Q.
2. Determine the desired retention time t.
a. A minimum value of t of 1 day is taken (a smaller tank implies less initial cost).
b. A maximum value of t of 3 days is taken (a large tank signifies high initial cost and smaller cleaning
intervals, and it treats more sewage, and thus increases the life of subsurface absorption system).
3. Determine the capacity of tank V = Q*t. Otherwise, tank capacity may be determined from
Equations 5.35 through 5.37.
(5.35)
where:
V is the minimum volume of septic tank, L
P is the number of people served
b. Where garbage grinders are used, Equation 5.36 can be used to determine the needed capacity:
(5.36)
c. When septic tank is used for serving schools and intermittent uses, its volume can be determined
from the following equation:
(5.37)
(5.38)
where:
L is the internal length of tank, m
B is the internal width of tank, m (width of tank not to be less than 1 m)
b. Find the inside and outside tank dimensions. Recommended liquid depth in tank = 1.2 m (usually
varies from 1.1 to 1.8 m). For a tank serving up to 50 people, use an outlet liquid depth of 1.2 m;
when it serves up to 150 people, use a liquid depth of 1.5 m; and when it serves a larger number of
people, use a liquid depth of 1.8.
c. Inlet and outlet pipes should be fitted with open T sewer pipe fittings.
d. The bottom of an inlet pipe 300 mm should be below the top of the tank.
e. The bottom of an outlet pipe 75 mm should be below the bottom of the inlet (375 mm below the top
of the tank).
f. Downward T connection of inlet should be 20% of outlet liquid depth, whereas that of the outlet
should be 40% of liquid depth.
5. The tank floor can be sloped toward the inlet at a slope of 10%.
6. When two compartments are considered, one compartment (near inlet) can be twice the capacity
of the second compartment. This yields a first compartment length as determined from the
following equation:
(5.39)
where:
Lc is the internal length of first compartment, m
L is the internal length of tank, m
7. Walls must be watertight (25-mm-thick inside coating of cement plaster is applied, usually two
coats of 12 mm each are applied) (U.S. Agency for International Development (a) 1982).
8. The floor of tank should be of reinforced concrete (usually 100150 mm thick) and should rest
9. on a bed of gravel or sand 75 mm thick (U.S. Agency for International Development (a) 1982)
Top should be watertight (usually reinforced concrete is used). Generally, all or most of the
sections can be removed to clean tank, and one or two sections over outlet can be removed to
inspect the tank.
10.Inlet and outlet pipes should be fitted with open T sewer pipe fittings.
11. A proper plan view (top, side, and/or end views) of the tank is needed.
(5.40)
where:
Q is the flow that can be applied per unit area, L/m2*day
t25 is the time required for the water surface to fall 25 mm = 25/subsidence rate, min
Example 5.5
1. Write a computer program to design a septic tank for any number of people. Design the program
so that the necessary structural design of the tank is included.
2. Design a septic tank to serve a family dwelling of 20 people.
3. Use the above data with the program developed in (1) in order to produce the full design of the
tank.
Solution
1. For solution to Example 5.5 (1), see the listing of Program 5.5.
2. Solution to Example 5.5 (2):
a. Given: P = 20.
b. Determine the tank volume: V = 180 * P + 2000 = 180 * 20 + 2000 = 5600 L.
c. Take an outlet liquid depth d = 1.2 m.
d. Take a length:width ratio of 2.5, that is, L/B = 2.5, and determine the plan area as follows:
V/d = 5600 * 103/1.2 = 4.67 m2 = L * B = 2.5 * B,2 which yields a width B = 1.36 m; therefore, L =
2.5 * B = 3.4 m.
e. Determine the liquid depth at inlet (D) from relationship of slope: slope = (D d)/L; thus, D =
length * floor slope + outlet depth = 0.1 * 3.4 1.2 = 1.54 m.
f. Determine the total depth of tank as follows: total depth = liquid depth at inlet + distance of bottom
of inlet pipe from liquid surface + distance between inlet and tank cover = 1.54 + 0.075 + 0.3 =
1.92 m.
g Find the distance of the bottom of the T sewer inlet pipe from the top of the tank as 0.3 + 0.075 +
20% of liquid depth = 0.3 + 0.075 + 0.2 * 1.2 = 0.62 m.
h Find the distance of the bottom of the T sewer outlet pipe from the top of the tank as 0.3 + 0.75 +
40% of liquid depth = 0.3 + 0.075 + 0.4 * 1.2 = 0.86 m.
i When considering a two-compartment tank, the length of the first compartment can be determined as
follows: Lc = 2 * L/3 = 2 * 3.4/3 = 2.27 m.
3. As an example, the following data can be taken to run the program: number of people = 20, no
garbage grinder wastes, not a public place, grade of concrete = 30, yield stress for steel = 250
N/mm2. Severe exposure is assumed, as is a modulus of subgrade soil 0.
The results of the program are as follows:
a. Vertical wall thickness = 200 mm; steel in all directions will be 1040 mm2 everywhere.
b. Base slab thickness = 200 mm; steel in both directions will be 1300 mm2.
c. Cover slab thickness = 150 mm; steel in both directions will be 780 mm2.
'*********************************************************************************
'Program 5.5: Design of Septic Tanks
'*********************************************************************************
Imports System.Math
Public Class Form1
Const pi = 3.1415962#
Const g = 9.81
Dim P, fcu, fy, V As Double
Dim d0, rat, Ly, Lx, S, di, dt, dti, dt0, Lc As Double
Dim tw, tb, tc, H, D, Alpha, cv As Double
Dim Ast1, Ast2, Ast3, Ast4, Ast5, Ast6, Ast7, Ast8 As Double
Dim B, qx, qy As Double 'used in GetCoverPlateMoments()
'The following variables are used in Designsection()
Dim k, Z, TN, Ast As Double
Dim stress, Ra, d1, Vc As Double
Dim Mmax, dr, Ec, Es, Asm, r, x, fs, fsa, fact As Double
'The following variables are used in GetBasePlateMoments()
Dim E, mu, udl, w, wxx, wyy As Double
Dim y, m1, n1, c, cx, cy, cd As Double
'The following variables are used in GetWallsMoments()
Dim NDIVX, NDIVY, NX, NY, DX, DY, NDOF As Double
Case 2
If fcu <= 40 Then : cv = 40
ElseIf fcu = 45 Then : cv = 30
ElseIf fcu = 50 Then : cv = 25
End If
Case 3
If fcu <= 40 Then : cv = 50
ElseIf fcu = 45 Then : cv = 40
ElseIf fcu = 50 Then : cv = 30
End If
Case 4
If fcu <= 45 Then : cv = 60
ElseIf fcu = 50 Then : cv = 50
End If
End Select
End Sub
Sub GetBasePlateMoments(ByRef t, ByRef Lx, ByRef Ly, ByRef H, ByRef fcu,
ByRef Mx, ByRef Myy)
'*********************************************************************************
'Routine: PLATES ON ELASTIC FOUNDATIONS.
'Originally written by Dr. A. W. Hago, Muscat, April 1995
'Updated by Dr. M. I. Abdel-Magid, Muscat, 2013
'*******************************************************************************
Dim kmodulus = Val(InputBox("Enter the modulus of subgrade soil (KN/m2) (0
if unknown):", _
"STRUCTURAL DESIGN OF TANK BASE SLAB", "0"))
If kmodulus = 0 Then kmodulus = 39000 'assumed clay soil
E = 5500000.0! * (fcu) ^ 0.5 'Youngs modulus of concrete, KN/m2
mu = 0.16 'Poissons ratio for concrete
udl = 10 * H 'Uniform Pressure on the base slab
D = E * t ^ 3 / (12 * (1 - mu ^ 2))
x = 0.5 * Lx : y = 0.5 * Ly 'coordinates of center point
w = 0.0!
wxx = 0.0!
wyy = 0.0!
m1 = 15
n1 = 15
For m = 1 To m1 Step 2
For n = 1 To n1 Step 2
c = 16 * udl / (m * n * pi ^ 2)
cx = Sin(m * pi * x / Lx)
cy = Sin(n * pi * y / Ly)
cd = pi ^ 4 * D * ((m / Lx) ^ 2 + (n / Ly) ^ 2) ^ 2 + kmodulus
w = w + c * cx * cy / cd
wxx = wxx - c * (m * pi / Lx) ^ 2 * cx * cy / cd
wyy = wyy - c * (n * pi / Ly) ^ 2 * cx * cy / cd
Next n
Next m
Mx = -D * (wxx + mu * wyy)
Myy = -D * (wyy + mu * wxx)
End Sub
Sub GetCoverPlateMoments(ByVal Lx, ByVal Ly, ByVal udl, ByVal Mx, ByVal Myy)
'*******************************************************************************
'Routine to compute moments in a simple supported slab
'using the deflection method (Dr. Marcus)
'*******************************************************************************
K7 = k - NY - 1
K8 = k + NY - 1
K9 = k - 2 * NY
K10 = k + 2 * NY
K11 = k - 2
K12 = k + 2
'SPECIAL CASES
If I = 1 Then
K1 = 0
K6 = 0
K7 = 0
K9 = k
End If
If I = 2 Then K9 = 0
If I = NX Then
K2 = k - NY
K5 = K2 + 1
K8 = K2 - 1
K10 = k - 2 * NY
End If
If I = NX - 1 Then K10 = k
If J = I Then
K7 = 0
K3 = 0
K8 = 0
K11 = k
End If
If J = 2 Then K11 = 0
If J = NY - 1 Then
K4 = 0
K5 = 0
K6 = 0
K12 = k
End If
S(k, k) = S(k, k) + A
If K1 > 0 Then S(k, K1) = S(k, K1) + B
If K2 > 0 Then S(k, K2) = S(k, K2) + B
If K3 > 0 Then S(k, K3) = S(k, K3) + c
If K4 > 0 Then S(k, K4) = S(k, K4) + c
If K5 > 0 Then S(k, K5) = S(k, K5) + D
If K6 > 0 Then S(k, K6) = S(k, K6) + D
If K7 > 0 Then S(k, K7) = S(k, K7) + D
If K8 > 0 Then S(k, K8) = S(k, K8) + D
If K9 > 0 Then S(k, K9) = S(k, K9) + F
If K10 > 0 Then S(k, K10) = S(k, K10) + F
If K11 > 0 Then S(k, K11) = S(k, K11) + E
If K12 > 0 Then
If J = NY - 1 Then S(k, K12) = S(k, K12) - E
If J < NY - 1 Then S(k, K12) = S(k, K12) + E
End If
'LOAD VECTOR
Q(k) = pload * (1 - J / NDIVY) 'HYDROSTATIC PRESSURE
Next J
Next I
Call SOLVE(S, Q, w, NDOF)
'COMPUTE MOMENT Mx ON INTERIOR POINTS
For I = 1 To NDOF
For J = 1 To NDOF
S(I, J) = 0.0!
Next J
Next I
r1 = 2 * RIGIDITY * (1 / DX ^ 2 + mu / DY ^ 2)
r2 = -RIGIDITY / DX ^ 2
r3 = -mu * RIGIDITY / DY ^ 2
k = 0
For I = 1 To NX
For J = 1 To NY
k = k + 1
K1 = k - NY
K2 = k + NY
K3 = k - 1
K4 = k + 1
'SPECIAL CASES
If I = 1 Then K1 = 0
If I = NX Then K2 = k - NY
If J = 1 Then K3 = 0
If J = NY - 1 Then K4 = 0
S(k, k) = S(k, k) + r1
If K1 > 0 Then S(k, K1) = S(k, K1) + r2
If K2 > 0 Then S(k, K2) = S(k, K2) + r2
If K3 > 0 Then S(k, K3) = S(k, K3) + r3
If K4 > 0 Then S(k, K4) = S(k, K4) + r3
Next J
Next I
For I = 1 To NDOF
mmt = 0.0!
For J = 1 To NDOF
mmt = mmt + S(I, J) * w(J)
Next J
Mx(I) = mmt
Next I
'COMPUTE SUPPORT MOMENT MXV OF THE VERTICAL SIDE Ly
For I = 1 To NY
MXV(I) = -2 * RIGIDITY * w(I) / DX ^ 2
Next I
'COMPUTE MOMENT My ON INTERIOR POINTS
For I = 1 To NDOF
For J = 1 To NDOF
S(I, J) = 0.0!
Next J
Next I
r1 = 2 * RIGIDITY * (1 / DY ^ 2 + mu / DX ^ 2)
r2 = -mu * RIGIDITY / DX ^ 2
r3 = -RIGIDITY / DY ^ 2
k = 0
For I = 1 To NX
For J = 1 To NY
k = k + 1
K1 = k - NY
K2 = k + NY
K3 = k - 1
K4 = k + 1
'SPECIAL CASES
If I = 1 Then K1 = 0
If I = NX Then K2 = k - NY
If J = 1 Then K3 = 0
If J = NY - 1 Then K4 = 0
S(k, k) = S(k, k) + r1
If K1 > 0 Then S(k, K1) = S(k, K1) + r2
If K2 > 0 Then S(k, K2) = S(k, K2) + r2
End Sub
End Class
For the design of an Imhoff tank, the following points must be considered:
(5.41)
where:
DWF is the dry weather flow, L/day
P is the number of people served by the sewer, dimensionless
Q is the average water consumption, L/c * day
Ir is the average infiltration into the sewer, L/day (also estimated as L/day/km length of sewer for
different ages of the sewer). Usually, Ir varies between 0% and 30% of DWF (Rowe and Abdel-Magid
1995; Lin and Lee 2007) Tw is the average trade waste discharge, L/day
Ev is the rate of evaporation
The DWF can also be estimated from the data of water consumption as presented in the following
equation:
(5.42)
where:
DWF is the dry weather flow, m3/s
is the percentage of water entering the sewerage system (usually ranging from 80% to 90% of water
consumption) Q is the water consumption, m3/cs
P is the population served, dimensionless
Maximum wastewater flow may be determined by using the following equation (Mullick 1987):
(5.43)
where:
Qmax is the maximum daily wastewater flow, m3/day
a is the factor (= 24)
DWF is the dry weather flow, m3/s
Equation 5.44 gives an estimate of the minimum wastewater flow (Rowe and Abdel-Magid 1995;
American Water Works Association and American Society of Civil Engineers 2012):
(5.44)
where:
Qmin is the minimum wastewater flow, m3/day
b is the constant (with b = 30%50% for small communities, and b = 66%80% for large
communities that are greater than 100,000 persons) Qa is the average wastewater flow, m3/day
Equation 5.45 gives the relationship between the maximum wastewater flows and the average flows
called peaking factor (Mullick 1987):
(5.45)
(5.46)
Example 5.6
1. Write a computer program to determine the DWF for a sanitary sewer that is required to
serve an area with a population number of P, for an average daily sewage flow of Q
(m3/day). Take the daily infiltration in the area to be I (m3/km * length of sewer) and total
length of sewer as l (km).
2. An area with a population of 12,000 is to be served by a sanitary sewer. The average
wastewater flow is 15 m3/h per capita. The daily infiltration in the area is judged to be 55
m3/km length of sewer. For a total sewer length of 7 km, compute the DWF.
3. Use the computer program developed in (1) to verify the manual solution obtained in (2).
Solution
1. For solution to Example 5.6 (1), see the listing for Program 5.6.
a. Solution to Example 5.6 (2): Given: P = 12,000; Q = 15 m3/h * c, Ir = 55 m3/length of sewer,
2.
length of sewer = 7 km.
b. Use equation of DWF as DWF = (P * Q) + Ir + Tw Ev.
c. Find the average dry weather infiltration into the sewer as follows: Ir = 55 (m3) * 7 (km of
sewer length) = 385 m3/day.
d. Assume both average trade waste discharge, Tw, and evaporation rate, Ev, to be negligible, and
find the DWF as follows: DWF = 12000 * 15/24 + 385 = 7885 m3/day.
Example 5.7
1. Write a computer program to determine the average, maximum, minimum, and peak
wastewater flows, given population number and annual average water consumption
(L/capita/d). Assume DWF amounting to any percentage, a, of water consumption and
minimum flow equal to any percentage, b, of average flow.
2. Determine the different per capita wastewater flows (i.e., maximum daily, average daily, and
minimum daily flow) for a population of 900 using the following data: annual average water
consumption = 275 L/c/day; DWF = 90% of water consumption; and minimum flow = 50%
of average flow.
3. Use the computer program developed in (1) to verify the manual solution acquired in (2).
Solution
1. For solution to Example 5.7 (1), see the listing of Program 5.7.
2. Solution to Example 5.7 (2):
a. Given: P = 900, Q = 275 L/c/day, DWF = 0.9 * consumption, Qmin = 0.5 * Qa.
b. Determine the average annual daily DWF, or wastewater flow as 0.9 * water consumption = 0.9
* 275 = 247.5 L/c.
c. Compute the peaking factor as follows: pf = 5/P0.167 = 5/0.90.167 = 5.09.
d. Find the maximum daily flow or the maximum 24 h flow = pf * Qa = 5.09 * 247.5 = 1259.5
L/c/day.
Assuming a working time activity of 16 h, the design average daily flow will be as 1259.5 * 24/16
= 1889.7 L/c/day.
e. Determine the minimum daily flow as follows: Qmin = 0.5 * Qa = 0.5 * 247.5 = 123.75 L/c/day.
'*********************************************************************************
'Program 5.7: Determination of Different Per Capita Wastewater Flows
'*********************************************************************************
Imports System.Math
Public Class Form1
Const G = 9.81
Dim POP, DWF, Q, Qamp As Double
Dim Pf, Qmax, Qd, Qmin As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 5.7: Per Capita
Wastewater Flows"
Me.MaximizeBox = False
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Label1.Text = "Enter the number of people to be served:"
Label2.Text = "Enter the annual average water consumption L/c.d:"
Label3.Text = "Enter the dry weather flow DWF as percentage of Q:"
Label4.Text = "Enter the minimum flow as a percentage of Q:"
Button1.Text = "&Calculate"
Label5.Text = ""
Label5.AutoSize = False
Label5.Width = 352
Label5.Height = 52
Label6.Text = "Decimals:"
NumericUpDown1.Value = 2
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
End Sub
Sub calculateResults()
POP = Val(TextBox1.Text)
Q = Val(TextBox2.Text)
DWF = Val(TextBox3.Text)
Qamp = Val(TextBox4.Text)
If DWF > 1 Then DWF /= 100
If Qamp > 1 Then Qamp /= 100
DWF = DWF * Q
'peak factor
5.5 CONCEPT OF PE
PE of sewage or wastewater refers to a certain quality parameterfor example, BOD or SSas a per
capita contribution, compared to some quality parameter of the per capita contribution of a standard
sewage. Domestic sewage is adopted as the standard. Thus, the PE of any sewage is the number of
persons to the standard sewage. The relationship between PE and BOD5 is presented in the following
equation (Smith and Scott 2002; Lin and Lee 2007):
(5.47)
where:
PE is the population equivalent
BOD5 is the 5-day BOD of wastewater, mg/L
Q is the wastewater flow rate, m3/s
BODs is the BOD of standard sewage (= 60 g of BOD5 produced by an average person per day in the
United Kingdom and 80 g of BOD5 produced by an average person in the United States per day).
The main benefits of the PE concept include the following:
Estimation of the strength of industrial sewage for the purposes of waste treatment Measurement of
changes of wastewater treatment for various industries Assessment of charges for factories and
industrial firms
Example 5.8
1. Write a short computer program to find the PE of an industrial establishment that produces
wastewater of Q (m3/day). The wastewater has a 5-day BOD of L (mg/L).
2. The daily wastewater production from a certain industry amounts to 6 * 106 L with a 5-day
BOD of 370 mg/L. Determine the PE for this industry.
3. Use the computer program developed in (1) to verify the manual solution in (2).
Solution
1. For solution to Example 5.8 (1), see the listing of Program 5.8.
a. Solution to Example 5.8 (2): Given: wastewater flow, Q = 6 * 106 L/day, BOD = 370 mg/L.
2.
b. Assume the average person exerts a 5-day BOD load of 0.06 kg/day.
c. Determine the PE as follows: PE = BOD5 of waste * flow rate/BOD of standard sewage = (370
* 103 g/L * 6 * 106 L/d)/(0.06 * 103 g/d) = 37,000.
Listing of Program 5.8 (Chap5.8\Form1.vb): Population Equivalent of
Industrial Establishments
'*********************************************************************************
'Program 5.8: Population Equivalent of Industrial establishments
'*********************************************************************************
Imports System.Math
Public Class Form1
Const G = 9.81
Dim Q, BOD5 As Double
Dim Ex, PE As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 5.8: Population
Equivalent of Industrial establishments"
Me.MaximizeBox = False
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Label1.Text = "Daily wastewater production, Q (L/d):"
Label2.Text = "The 5-day BOD (mg/L):"
Button1.Text = "&Calculate"
Label3.Text = ""
Label4.Text = "Decimals:"
NumericUpDown1.Value = 2
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
End Sub
Sub calculateResults()
Q = Val(TextBox1.Text)
bod5 = Val(TextBox2.Text)
'assumed per capita 5-d BOD load in kg/d
Ex = 0.06
'convert to mg/L
BOD5 = BOD5 / 1000
'population equivalent
PE = BOD5 * Q / (Ex * 10 ^ 3)
End Sub
Sub showResults()
Label3.Text = "Population equivalent PE: " + FormatNumber(PE,
NumericUpDown1.Value)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
showResults()
End Sub
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles NumericUpDown1.ValueChanged showResults()
End Sub
End Class
1. In situ treatment works are small treatment plants (package plants) that handle the disposal of
wastewater emerging from individual households or small rural communities.
2. Large treatment works are centrally located wastewater plants that treat the wastewater
discharges from large metropolitan areas.
Table 5.6 gives a quick review of the most essential unit operations and processes used in water and
wastewater treatment plants.
TABLE 5.6
Water and Wastewater Treatment Units
Water
Treatment
Bars, mesh, or strainer to remove large solids
Screening
Flocculation Mechanical mixing to favor agglomeration of solid particles
Addition of chemicals to coagulate SS
Coagulation
Sedimentation Settling out of flocculated substances
Filtering out remaining suspended matter
Sand filtration
Disinfection Addition of disinfectant to kill harmful disease-causing agents
Sludge treatment Thickening by brevity and then disposal
Other Water softening, pH adjustment, and fluoridation
Preliminary
Treatment
As above
Screening Removing grit and inorganic matter (e.g., sand) but not organic matter
Grit removal Diverting sewage in excess of treatment plant capacity to storm water-holding tanks
Storm overflow
Primary
Treatment
Anaerobic oxidation of Biodegrading organic matter through the action of microorganisms in a biological treatment unit such as activated
organic matter sludge or trickling filter plant Settling out of sludge containing microorganisms to produce a treated effluent
Secondary sedimentation
Tertiary Treatment (Effluent
polishing, advanced
treatment)
Polishing of effluent by operations such as sand filters and microstrainers
Finalizing treatment
Sludge
Treatment
Decomposing thickened sludge in the absence of oxygen
Anaerobic digestion
Gravity thickening Thickening of primary and secondary sludge
Removing water from sewage sludges by methods such as centrifuges and pressure or vacuum filters Drying
Mechanical dewatering
Drying beds sewage sludge in open atmosphere
Sludge Disposal
Composted to be used as
a soil conditioner
(digested only)
Dumped at sea (undigested)
Incinerated (normally
undigested but thickened)
Landfilled (preferably
digested and dewatered or
dried)
Source: Rowe, D. R. and Abdel-Magid, I. M., Handbook of Wastewater Reclamation and Reuse, CRC Press/Lewis Publishers, Boca
Raton, FL, 1995. With permission.
Protecting the moving mechanical equipment from abrasion and development of any abnormal
wear and tear Reducing the formation of heavy deposits inside pipelines, channels, and conduits
Reducing the frequency of digester cleaning
Facilitating the operation of treatment units
The quantity of grit in wastewater differs according to the status of the sewerage system, the quantity of
storm water present, and the ratio of industrial to other sources of wastewater. Separation of grit particles
in grit removal chambers relies on the difference in the specific gravity between the organic and inorganic
solids. All particles are assumed to settle with a terminal velocity in agreement with Newtons law of
motion as presented in the following Equation (Steel and McGhee 1991):
(5.48)
where:
v is the terminal settling velocity, m/s
g is the gravitation acceleration, m/s2
s is the mass density of particle, kg/m3
is the mass density of fluid, kg/m3
d is the diameter of particle, m
s.g. is the specific gravity of settling particle, dimensionless
CD is the drag coefficient (dimensionless)
(5.49)
(5.50)
where:
vsco is the horizontal velocity of flow (scour velocity), m/s
s.g. is the specific gravity of the particle, dimensionless
f is the DarcyWeisbach friction factor, dimensionless (usually, f = 0.020.003) (Steel and McGhee
1991) a is a constant, dimensionless (usually a = 0.040.06) (Steel and McGhee 1991) Generally, a grit
removal system possesses the following properties:
(5.51)
where:
B is the width of the channel, m
Qmax is the maximum flow rate, m3/s
dmax is the maximum depth of flow, m
Velocity control within the grit chamber may be made by a flow control device such as a standing wave
flume, vertical throat, and proportional flow weir. For standing wave flumes, the flow rate is presented
by the following equation (Abdel-Magid 1986; Lin and Lee 2007):
(5.52)
where:
Q is the flow rate, m3/s
d is the depth of flow, m
y is the throat width, m
(5.53)
TABLE 5.7
Grit Chamber Typical Design Parameters
Parameter Value
Detention time (s) 60
Horizontal design velocity (cm/s) 30
Equivalent diameter of grit removed (mm) 0.2
Specific gravity of particles captured 2.65
Length of chamber (m) >18dmax
Source: Metcalf and Eddy, Inc., Tchobanoglous, G., Stensel, H. D., Tsuchihashi R., and Burton, F., Wastewater Engineering: Treatment and
Resource Recovery, 5th ed, McGraw-Hill Science/Engineering/Math, 2013; Peavy, Rowe, and Tchobanoglous, 1985; Abdel-Magid,
I. M., Selected Problems in Wastewater Engineering, National Research Council, Khartoum University Press, Khartoum, Sudan,
1986; Peirce, J. J. et al. Environmental Pollution and Control, 4th ed, Butterworth-Heinemann, Oxford, 1997.
Example 5.9
1. Write a computer program for designing a grit chamber that consists of N mechanically
cleaned channels. Each channel of the chamber is required to carry a maximum flow of Qmax
(m3/s) with a maximum depth of dmax (m).
2. Design a grit chamber that consists of four mechanically cleaned channels. Each channel
carries a maximum flow of 725 L/s with a maximum depth of 0.6 m (use l = 18 * dmax).
3. Use the computer program developed in (1) to verify the manual solution in (2).
Solution
1. For the solution to Example 5.9 (1), see the listing of Program 5.9.
a. Solution to Example 5.9 (2): Given: Qmax = 725 L/s, dmax = 0.6 m, N = 4.
2.
b. Determine the width of the channel as follows: B = 4.92 * Qmax/dmax = 4.92 * 0.725/0.6 = 5.95
m.
c. Width of each channel = total width/number of channels = B/N = 5.95/4 = 1.5 m.
d. Find the throat width of the standing wave flume in channels that maintain the velocity as
follows: y = (2/3) * B = (2/3) * 1.5 = 0.99 m.
e. Determine the length of the channel as follows: l = 18 * dmax = 19 * 0.99 = 17.8 m.
'*********************************************************************************
'Program 5.9: Designing a Grit Chamber
'*********************************************************************************
Imports System.Math
Public Class Form1
Const G = 9.81
Dim N, Q, dmax As Double
Dim B, W, Y, L As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 5.9: Grit Chamber
Design"
Me.MaximizeBox = False
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Label1.Text = "Number of mechanically cleaned channels, N:"
Label2.Text = "Flow per channel, Q (m3/s):"
Label3.Text = "Required maximum depth of flow, dmax (m):"
Button1.Text = "&Calculate"
Label4.Text = ""
Label4.AutoSize = False
Label4.Width = 352
Label4.Height = 52
Label5.Text = "Decimals:"
NumericUpDown1.Value = 2
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
End Sub
Sub calculateResults()
N = Val(TextBox1.Text)
Q = Val(TextBox2.Text) / 1000
dmax = Val(TextBox3.Text)
'width of channel
B = 4.92 * Q / dmax
'width of each channel
W = B / N
'throat width
Y = 2 / 3 * W
'length of channel
L = 18 * Y
End Sub
Sub showResults()
Dim decimals As Integer = NumericUpDown1.Value
Label4.Text = "Width of each channel (m): " + FormatNumber(W, decimals)
Label4.Text += vbCrLf + "Throat width (m): " + FormatNumber(Y, decimals)
Label4.Text += vbCrLf + "Length of channel (m): " + FormatNumber(L,
decimals)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
showResults()
End Sub
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles NumericUpDown1.ValueChanged showResults()
End Sub
End Class
5.9.1 INTRODUCTION
Secondary wastewater treatment serves the following functions:
Attached growth processes: In these processes, microorganisms are fixed or attached to a solid
surface or media. Organic matter is brought in contact with the mircoorganisms by various
mechanisms (Berger 1987).
Suspended growth processes: In these processes, microorganisms (bacteria, fungi, and protozoa) and
small organisms (rotifers and nematode worms) are free to move within the reactor and utilize the
organic material for energy, growth, and reproduction.
of the following:
FIGURE 5.5 Activated sludge process. MLSS, mixed liquor SS; F/M, food-to-microorganism ratio.
Supply needed oxygen for microbial oxidation and synthesis reactions (Vernick and Walker 1981).
Properly mix the contents of the aeration reactor.
Maintain microorganisms in suspension.
The activated sludge floc adsorbs suspended and colloidal solids on its surface and, to some extent,
soluble organic substances found in wastewater. Microbial activity transforms part of the available
organic matter into a reserve food, thus rapidly reducing the BOD. Growth and multiplication of the
aerobic microorganisms in the tank form an active biomass termed activated sludge. The activated sludge
and wastewater in the aeration unit is called a mixed liquor (American Water Works Association and
American Society of Civil Engineers 2012). The rate of removal of organic constituents depends upon the
remaining BOD and the concentration of the activated sludge. The mixed culture of microbial species
usually found in an activated sludge system includes viruses, bacteria, protozoa, and other organisms,
singly or jointly grouped. Generally, the microbes are contained in a fabric of organic debris, dead cells,
or other waste products. Factors that influence operation of the process include sensitivity of organisms to
nutrients, the wastewater composition, and other conditions (e.g., inorganic salt content, turbulence, pH,
temperature, presence of other competing microorganisms, etc.).
(5.54)
(5.55)
where:
DR is the dilution rate
Ru is the recycling ratio, dimensionless
(s)max is the maximum growth rate of microorganisms, per day
Ks is the half-velocity constant (substrate concentration expressed in mg/L at half of the maximum
growth rate) s* is the growth-limiting substrate concentration in solution, mg/L
When the substrate concentration is low, compared to the half-velocity constant, Equation 5.54 may be
simplified into a first-order equation, as presented in the following equation:
(5.56)
where:
s is the growth rate of microorganisms
(s)max is the maximum growth rate of microorganisms
Ks is the half-velocity constant
K is the constant
(5.57)
Example 5.10
1. Write a computer program to determine the growth rate of microorganisms (per day) using
Monod equation, given the incorporated variables.
2. A fully mixed continuous activated culture with partial feedback of cells is adopted for
wastewater treatment. The recycling ratio of the process is 2. Values of the half-velocity
constant and maximum growth rate of microorganisms are 1.5 mg/L and 1/h, respectively.
Evaluate the concentration of the growth-limiting substrate in the system for a dilution rate of
0.75/h.
3. Use the computer program developed in (1) to verify solution obtained in (2).
Solution
1. For the solution to Example 5.10 (1), see the listing of Program 5.10.
a. Solution to Example 5.10 (2): Given: Ru = 2, DR = 0.75, Ks = 1.5, max = 1.
2.
b. Find s as DR/Ru = 0.75/2 = 0.375.
c. Find the concentration of growth-limiting substrate from the Monod equation as follows: 0.375
= 1 * s*/(1.5 + s*): therefore, s* = 0.9 mg/L.
3. Use the computer program written in (1) to verify computations attained in (2).
'*********************************************************************************
'Program 5.10: Determination of Growth Rate of Microorganisms
'*********************************************************************************
Imports System.Math
Public Class Form1
Const G = 9.81
Dim DR, Ru, Kx, Umax As Double
Dim Ux, S As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 5.10: Growth Rate of
Microorganisms"
Me.MaximizeBox = False
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Label1.Text = "Enter the dilution rate, DR (/h):"
Label2.Text = "Enter the recycling ratio, Ru:"
Label3.Text = "Enter half-velocity constant, Kx (mg/L):"
Label4.Text = "Enter the maximum growth rate, Umax (/h):"
Button1.Text = "&Calculate"
Label5.Text = ""
Label6.Text = "Decimals:"
NumericUpDown1.Value = 2
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
End Sub
Sub calculateResults()
DR = Val(TextBox1.Text)
Ru = Val(TextBox2.Text)
kx = Val(TextBox3.Text)
Umax = Val(TextBox4.Text)
Ux = DR / Ru
S = Ux * Kx / (Umax - Ux)
End Sub
Sub showResults()
Label5.Text = "The growth limiting substrate conc. (mg/L): " +
FormatNumber(S, NumericUpDown1.Value) End Sub
(5.58)
where:
F/M is the food-to-microorganism ratio, per day
Li is the influent BOD concentration, mg/L
Q is the wastewater flow, m3/s
MLVSS is the mixed liquor volatile suspended solids concentration, mg/L
V is the tank volume, m3
t is the tank retention time, d
Operation of an activated sludge unit at a high F/M ratio results in an incomplete metabolism of organic
matter, inadequate BOD removal, and a lowering of the settling rate. On the contrary, operation of the
process at a low F/M ratio increases the efficiency of organic matter removal, improves settleability of
the activated sludge, and augments BOD removal. The volumetric organic loading, VOL rate, is defined
by the following equation:
(5.59)
where:
VOL is the volumetric organic loading rate
SLR is the sludge-loading rate, d
Table 5.8 outlines suitable values for sludge-loading rate for particular treatment systems.
TABLE 5.8
SLR for Certain Treatment Units
Unit Reasonable Value of SLR (day1 )
Conventional plants 0.30.35
Extended aeration 0.050.2
Step aeration 0.20.5
Source: Metcalf and Eddy, Inc., Tchobanoglous, G., Stensel, H. D., Tsuchihashi R., and Burton, F., Wastewater Engineering: Treatment and
Resource Recovery, 5th ed, McGraw-Hill Science/Engineering/Math, 2013; Abdel-Magid, I. M., Selected Problems in Wastewater
Engineering, National Research Council, Khartoum University Press, Khartoum, Sudan, 1986; Peirce, J. J. et al. Environmental
Pollution and Control, 4th ed, Butterworth-Heinemann, Oxford 1997.
SLR, sludge-loading rate.
5.9.4.2 Sludge Age, Mean Cell Residence Time, Solids Retention Time, or Cell Age
Sludge age is defined as the total sludge in the biological treatment process divided by the daily waste
(5.60)
where:
SA is the sludge age, days
V is the volume of aeration tank, m3
MLVSS is the concentration of mixed liquor volatile suspended solids, mg/L
Qw is the waste sludge flow, m3/day
SS is the suspended solids in waste sludge, mg/L
The sludge age also is related to the reciprocal of the net microorganisms specific growth rate, as
depicted in the following equation:
(5.61)
where:
SA is the sludge age, days
a is the cell yield coefficient, mg cell per mg substrate
F/M is the food-to-microorganisms ratio, day1
Eff is the efficiency of BOD removal
k is the microorganisms endogenous decay coefficient, day1
For a completely mixed process operating under steady-state conditions, the sludge age usually is
calculated by the relationship presented in the following equation:
(5.62)
where:
SA is the sludge age, days
V is the volume of aeration tank, m3
Qw is the waste sludge flow, m3/day
SSR is the suspended solids in recycle line, mg/L
Q is the influent volumetric flow rate, m3/s
SS is the suspended solids in aeration tank, mg/L
SSe is the suspended solids in final effluent, mg/L
Table 5.9 gives the value of the mean cell residence time for the various modifications of the activated
sludge process.
TABLE 5.9
Mean Cell Residence Time for Various Modifications of the Activated Sludge Process
Process (SA) (days)
Contact stabilization 515
Conventional activated sludge 515
Extended aeration 2030
High-rate aeration 510
Modified aeration 0.20.5
Step aeration 515
Source: Metcalf and Eddy, Inc., Tchobanoglous, G., Stensel, H. D., Tsuchihashi R., and Burton, F., Wastewater Engineering: Treatment and
Resource Recovery, 5th ed, McGraw-Hill Science/Engineering/Math, 2013; Abdel-Magid, I. M., Selected Problems in Wastewater
Engineering, National Research Council, Khartoum University Press, Khartoum, Sudan,1986.
SA, sludge age.
Example 5.11
1. Write a computer program to determine the detention time (h), the volumetric organic
loading rate (kg BOD/m3/day), and the sludge-loading ratio (kg BOD per kg MLVSS per
day), given the flow rate (m3/day), BOD of incoming waste (mg/L), the number of aeration
tanks (activated sludge units), and their dimensions (m). Design the program to determine the
sludge age for the activated sludge system, given the daily sludge wasted (kg/day).
2. Settling sewage flowing at a daily rate of 5150 m3 is introduced to an activated sludge plant.
The sewage has a 5-day BOD of 245 mg/L. The aeration unit is composed of two aeration
tanks each of dimensions: 3 m depth, 8 width, 40 m length, with an MLVSS concentration of
2100 mg/L.
1. For solution to Example 5.11 (1), see the listing of Program 5.11.
2. Solution to Example 5.11 (2):
a. Given: Q = 5150 m3/d, L1 = 245 mg/L, V for each tank = 3 * 8*40, MLVSS = 2100, number of
tanks = 2.
b. Determine the volume of the aeration unit = volume of each tank * number of tanks = 3 * 8 * 40
* 2 = 1920 m3.
c. Find the detention time: t = V/Q = 1920/5150 = 0.37 d = 8.9 h.
d. Compute the volumetric organic loading rate as follows: VOL = Q * Li/V = (5150 m3/day * 245
* 103 kg/m3)/1920 = 0.66 kg BOD/m3/day.
e. Determine the sludge-loading ratio, SLR, as follows: F/M = SLR = Li * Q/MLVSS * V = (245 *
103 kg/m3 * 5150 m3/day)/(2100 * 103 kg/m3 * 1920 m3) = 0.31 kg BOD/kg MLVSS/day.
3. Solution to Example 6.6 (3):
a. Given: Q = 5150 m3/day, Li = 245 mg/L, V for the plant = 1920 m3, MLVSS = 2100 mg/L, Qw *
SS = 495 kg/day.
b. Compute the SA as follows: SA = V * MLVSS/Qw * SS = 1920 * 2100 * 103/495 = 8.1 days.
'*********************************************************************************
'Program 5.11: Activated Sludge Processes
'*********************************************************************************
Imports System.Math
Public Class Form1
Const G = 9.81
Dim Q, N, Li, MLVSS As Double
Dim L(), D(), W() As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 5.11: Activated
Sludge Processes"
Me.MaximizeBox = False
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Label1.Text = "Enter the flow rate, Q (m3/d):"
label2.text = "Enter the number of aeration tanks:"
DataGridView1.Columns.Clear()
DataGridView1.Columns.Add("LCol", "Length (m)")
DataGridView1.Columns.Add("WCol", "Width (m)")
DataGridView1.Columns.Add("DCol", "Depth (m)")
DataGridView1.AllowUserToAddRows = False
label3.text = "Enter the 5-day BOD (mg/L):"
label4.text = "Enter the MLVSS concentration (mg/L):"
Button1.Text = "&calculate"
End Sub
Sub calculateResults()
Q = Val(textbox1.text)
N = Val(textbox2.text)
li = Val(TextBox3.Text)
mlvss = Val(TextBox4.Text)
For i = 1 To N
L(i) = Val(DataGridView1.Rows(i - 1).Cells("LCol").Value)
D(i) = Val(DataGridView1.Rows(i - 1).Cells("DCol").Value)
W(i) = Val(DataGridView1.Rows(i - 1).Cells("WCol").Value)
Next
Dim V, t, VOL, SLR As Double
'determine total volume of units
V = 0.0!
For I = 1 To N
V = V + L(I) * W(I) * D(I)
Next I
'CONVERT TO KG/L
Li = Li / 1000
MLVSS = MLVSS / 1000
'DETENTION TIME IN HOURS
t = V / Q * 24
'VOLUMETRIC ORGANIC LOADING RATE
VOL = Q * Li / V
'SLUDGE LOADING RATIO
SLR = Li * Q / (MLVSS * V)
Dim s As String
s = "The detention time = " + FormatNumber(t, 2) + " h" + vbCrLf
s += "The volumetric organic loading rate = " + FormatNumber(VOL, 2) + " kg
BOD/m3/d" + vbCrLf
s += "The sludge loading ratio = " + FormatNumber(SLR, 2) + " Kg BOD/Kg
MLVSS/d"
MsgBox(s, vbOKOnly, "Program 6.6: Activated Sludge Processes")
Dim r = MsgBox("Do you want to compute the sludge age?", vbYesNo, "Prompt")
If r = vbYes Then
Dim DSL = InputBox("Enter the daily sludge wasted (kg):", "Enter DSL",
"0")
Dim SA = V * MLVSS / DSL
MsgBox("The sludge age for this daily sludge = " + FormatNumber(SA, 2) +
" days", vbOKOnly)
End If
End Sub
Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TextBox2.TextChanged If N <> Val(TextBox2.Text)
Then
If Val(TextBox2.Text) <= 0 Then Exit Sub
N = Val(TextBox2.Text)
DataGridView1.Rows.Clear()
DataGridView1.Rows.Add(CInt(N))
ReDim L(N), D(N), W(N)
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
End Sub
End Class
(5.63)
where:
SVI is the sludge volume index, mL/g
Vs is the settled volume of sludge in a 1000 mL graduated cylinder in 30 min (mL/L or %) MLVSS is the mixed liquor volatile suspended solids,
mg/L
TABLE 5.10
Activated Sludge Settleability according to SVI
Value (mL/g) Criteria
<40 Excellent settling properties
4075 Good settling properties
76120 Fair settling properties
121200 Poor settling properties
>200 Bulking sludge
Source: Metcalf and Eddy, Inc., Tchobanoglous, G., Stensel, H. D., Tsuchihashi R., and Burton, F., Wastewater Engineering: Treatment and
Resource Recovery, 5th ed, McGraw-Hill Science/Engineering/Math, 2013; Abdel-Magid, I. M., Selected Problems in Wastewater
Engineering, National Research Council, Khartoum University Press, Khartoum, Sudan, 1986; Ganczarczyk, J. J., Activated Sludge
Process: Theory and Practices, Pollution Engineering and Technology Series No. 23, Marcel Dekker, New York, 1983.
SVI, sludge volume index.
(5.64)
where:
SDI is the sludge density index, g/mL
SVI is the sludge volume index, mL/g
SDI varies from around 2 for a good sludge to about 0.3 for a poor sludge, that is, 0.3 < SDI < 2.
Example 5.12
Write a computer program to compute the SVI (mL/g) and the SDI (g/mL) of wastewater in a step aeration plant, given the concentration
of the mixed liquor suspended solids as MLSS (mg/L) and the volume of sludge settled after 30 min in a 1 L graduated cylinder, Vs
(mL).
In a step aeration plant, the concentration of the MLSS was 2400 mg/L. A sample of the wastewater was withdrawn for a SVI test. The
volume of sludge settled after 0.5 min in a 1 L graduated cylinder was found to be 285 mL. Compute the SVI of the wastewater and
the SDI.
Use the computer program of section (1) to verify the results obtained by manually solving (2).
Solution
For solution to Example 5.12 (1), see the listing of Program 5.12.
Solution to Example 5.12 (2):
Given: Vs = 285 mL, MLVSS = 2400 mg/L.
Compute the sludge volume index of the sample as follows: SVI = Vs * 1000/MLVSS = 285 * 1000/2400 = 119 mL/g.
From Table 5.10, it can be concluded that this SVI value signifies fair settling properties.
Determine the SDI as follows: SDI = 100/SVI = 100/119 = 0.84.
Table 5.11 gives the general design criteria of the conventional activated sludge process.
TABLE 5.11
Design Criteria for Conventional Activated Sludge
Item Value
MLSS (mg/L) 15003000
Volumetric organic loading (g BOD per m3 per day) 500700
Aeration detention time (h) (based on average daily flow) 48
F/M ratio (g BOD per g MLSS per d) 0.10.6
Sludge retention time (d) 515
Sludge age (days) 34
Recycling ratio 0.250.5
Sludge yield index (kg solids per kg BOD removed) 0.70.9
BOS5 removal (%) 8595
Optimum pH for aerobic bacterial growth 6.57.5
Depth of aeration tanks (m) 3
Source: Metcalf and Eddy, Inc., Tchobanoglous, G., Stensel, H. D., Tsuchihashi R., and Burton, F., Wastewater Engineering: Treatment and
Resource Recovery, 5th ed, McGraw-Hill Science/Engineering/Math, 2013; Barnes, D. et al. Water and Wastewater Engineering
Systems, Pitman Publishing, Marshfield, MA, 1981; Abdel-Magid, I. M., Selected Problems in Wastewater Engineering, National
Research Council, Khartoum University Press, Khartoum, Sudan, 1986; Ganczarczyk, J. J., Activated Sludge Process: Theory and
Practices, Pollution Engineering and Technology Series No. 23, Marcel Dekker, New York, 1983; Vernick, A. S., and Walker, F. C.,
Handbook of Wastewater Treatment Processes, Pollution Engineering and Technology Series No. 19, Marcel Dekker, New York,
1981.
MLSS, mixed liquor suspended solids; BOD, biological oxygen demand; F/M, food-to-microorganism ratio.
'*********************************************************************************
'Program 5.12: Sludge Volume Index
'*********************************************************************************
Imports System.Math
Public Class Form1
Const G = 9.81
Dim MLVSS, Vx As Double
Dim SVI, SDI As Double
Dim Comment = ""
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 5.12: Sludge Volume
Index"
Me.MaximizeBox = False
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Label1.Text = "The MLVSS (mg/L):"
Label2.Text = "Volume of sludge settling in 1/2 h, Vs (mL):"
Button1.Text = "&calculate"
Label3.Text = ""
Label4.Text = "Decimals:"
NumericUpDown1.Value = 2
NumericUpDown1.Minimum = 0
NumericUpDown1.Maximum = 10
End Sub
Sub calculateResults()
MLVSS = Val(textbox1.text)
Vx = Val(textbox2.text)
SVI = Vx * 1000 / MLVSS
SDI = 100 / SVI
If SVI <= 40 Then Comment = "Excellent settling properties"
If SVI > 40 And SVI <= 75 Then Comment = "Good settling properties"
If SVI > 75 And SVI <= 120 Then Comment = "Fair settling properties"
If SVI > 120 And SVI <= 200 Then Comment = "Poor settling properties"
If SVI > 200 Then Comment = "Bulking sludge"
End Sub
Sub showResults()
Label3.Text = "The sludge volume index = " + FormatNumber(SVI,
NumericUpDown1.Value) + " " + Comment Label3.Text += vbCrLf + "The sludge
density index = " + FormatNumber(SDI, NumericUpDown1.Value)
End Sub
5.10.1 INTRODUCTION
An attached growth culture is used to treat wastewater that comes in contact with microorganisms
attached to surfaces of the media of the reactors. The trickling filtration process is a form of an attached
growth system. In this process, settled wastewater is brought in contact with microorganisms attached to
the filter bed media (see Figure 5.6). Wastewater is sprayed over a fixed media composed of a bed often
packed with rocks or plastic structures. Thus, biological slimes develop and coat the filter surface area.
These slimes provide a film consisting of heterotrophic organisms, facultative bacteria, protozoa, fungi,
algae, rotifers, sludge worms, insect larvae, and snails. As the wastewater trickles over the media,
microbes in the slime layer extract organic and inorganic matter from the liquid film. Suspended and
colloidal particles are retained on the surfaces to be further converted to soluble products. Aerobic
reactions are sustained by oxygen from the gas phase in the pores of the media through the liquid film to
the slime layer. The digested waste products diffuse outward with the water flow or air currents through
the voids in the filter medium. With time, the biological film increases in thickness. This increase in film
thickness is accompanied by a lowering of the content of oxygen and food. This condition eventually leads
to anaerobic and endogenous metabolism at the slime-media interface, with increased detachment of
organisms from the media. The shearing action of the flowing wastewater across the file then detaches
and washes away the slime from the media. This process is referred to as filter sloughing off. Sloughing
off develops because the microorganisms grow and multiply, and the slime layer gets thicker until it is
washed from the media by the incoming wastewater.
The recirculation ratio (Ru) lies between a value of 50% and 1000% of the raw wastewater flow.
Usually, the recirculation ratio is between 50% and 300% (Steel and McGhee 1991).
Some of the most important formulae used in the design of trickling filters include the National
Research Council (NRC), Velz, Rankin, and Rumpf formulae.
Equation 5.65 presents the NRC formula for a first-stage trickling filter:
(5.65)
where:
Eff1 is the efficiency of the first-stage trickling filter, %
Li is the influent BOD, mg/L
Le is the effluent BOD from the first stage, mg/L
W1 is the BOD load of the first-stage filter, kg/day
(5.66)
where:
Q is the flow of wastewater, m3/day
V1 is the volume of first-stage filter media, m3
F1 is the first-stage recirculation factor
(5.67)
(5.68)
Equation 5.69 gives the NRC equation for a second-stage trickling filter:
(5.69)
where:
Eff2 is the efficiency of the second-stage trickling filter, %
W2 is the BOD load of the second-stage filter = Q*Li = BODload, kg/day V2 is the volume of the second-
stage filter, m3
F2 is the second-stage recirculation factor
Li2 is the influent BOD to the second-stage filter, mg/L
Le2 is the effluent BOD of the second-stage filter, mg/L
(5.70)
where:
Li is the influent BOD, mg/L
Le is the effluent BOD, mg/L
k is the experimental coefficient
= 0.49 for high-rate filters
= 0.57 for low-rate filters
h is the filter depth, m
Ru is the recirculated flow/wastewater flow
where:
Le is the BOD of the settled filter effluent, mg/L
Li is the BOD of the settled sewage, mg/L
Ru is the recirculation ratio
The Rankin formula applies to all plants treating sewage that have presedimentation, high-rate
filtration, and final settling tanks. This applies when the BOD does not exceed the value of 0.7 kg/m3/day
and where recirculation, if applied, maintains a dosing rate between 93 and 244 * 103/ha/day (OConnor
and Dobbins 1956).
(5.72)
where:
E is the trickling filter efficiency, %
W is the organic loading of the trickling filter, g BOD per day
V is the volume of the filter media, m3
(5.73)
where:
Li is the influent BOD including return flow, mg/L
Le is the nonsettled BOD of flow to filter, mg/L
h is the filter depth, m
Q is the influent flow, mL/day
As is the area, ha
(5.74)
where:
Le is the nonsettling BOD for effluent from filter, mg/L
K is the constant
(5.75)
(5.76)
where:
Effover is the overall treatment plant efficiency, %
Effsed is the percentage of BOD removed in primary settling (usually is equal to 35%)
Eff1 is the BOD efficiency of the first-stage filter and intermediate clarifier corrected for the operating
temperature, %
Eff2 is the BOD efficiency of the second-stage filter and final clarifier corrected for the operating
temperature, %
where:
EffT is the efficiency at temperature, T%
Eff20 is the efficiency at a temperature of 20C, %
T is the temperature, C
Tc is the temperature correction factor, usually taken as equal to 1.035
Example 5.13
1. Write a computer program to compute the trickling filter efficiency using different formulae
(NRC, Velz, Rumpf, and Rankin), given the population number, the rate of population
growth, the clarifier efficiency, the rate of wastewater flow to plant (m3/s), 5-day BOD
(mg/L), the recirculation ratio, and the filter diameter (m). Design the program so that the
trickling filters determine the volume, area, diameter, or depth, and efficiency can be
estimated at any temperature.
2. A treatment work includes primary sedimentation and trickling filtration to treat wastewater
of 8,500 inhabitants. The sedimentation unit has an efficiency of 35%. The wastewater flows
at a rate of 325 L/c/day with a 5-day BOD of 310 mg/L. The trickling filter has the following
characteristics: removal efficiency = 82%, recirculation ratio = 3:1, and filter depth = 2.5 m.
Determine the trickling filter diameter using the NRC formula.
3. Use the computer program of (1) to confirm computations in (2).
Solution
1. For solution to Example 5.13 (1), see the listing of Program 5.13.
2. Solution to Example 5.13 (2):
a. Given: POP = 8500, efficiency of sedimentation = 35%, q = 325 L/c/day, Li = 310 mg/L,
efficiency of filter = 82%, Ru = 3/l, h = 2.5 m.
b. Find the recirculation factor as follows: F = (1 + Ru)/(1 + 0.1*Ru)2 = (1 + 3)/(1 + 0.1 * 3)2 =
2.37.
c. Find the wastewater flow: Q = q * POP = 325 * 103 * 8500 = 2762.5 m3/day.
d. Find the BOD concentration emerging from the primary sedimentation and entering the trickling
filter as follows: Li = BODi * (1 Effclarifier) = 310 * (1 0.35) = 201.5 mg/L.
e. Determine the influent BOD load to the filter as follows: W = Q * Li = 2762.5 * 201.5 * 103 =
556.6 kg/day.
f. Find the volume of the filter using the NRC efficiency equation as follows: Eff = 100/[1 +
0.44(W/V * F)0.5] = 82 = 100/[1 + 0.44(556.6/V * 2.37)0.5]. This yields V = 944 m3.
g. Compute the surface area as follows: A = V/h = 944/2.5 = 377.6 m2.
h. Find the diameter of the filter as follows: D = (4 * A/)0.5 = (4 * 377.6/)0.5 = 22 m.
Case 1
'Velz formula
Label2.Text = "Enter the influent BOD, Li (mg/L):"
Label3.Text = "Enter the recirculated flow, Ru (m3/day):"
Label4.Text = "Enter the filter depth, h (m):"
Label7.Text = "Is it a high-rate filter?"
Label7.Visible = True
RadioButton1.Visible = True
RadioButton2.Visible = True
Label5.Visible = False
Label6.Visible = False
Label8.Visible = False
Label9.Visible = False
Label10.Visible = False
TextBox4.Visible = False
TextBox5.Visible = False
TextBox7.Visible = False
TextBox6.Visible = False
TextBox8.Visible = False
Case 2
'Rankin formula
Label2.Text = "Enter the influent BOD, Li (mg/L):"
Label3.Text = "Enter the recirculated flow, Ru (m3/day):"
RadioButton1.Visible = False
RadioButton2.Visible = False
Label4.Visible = False
Label5.Visible = False
Label6.Visible = False
Label7.Visible = False
Label8.Visible = False
Label9.Visible = False
Label10.Visible = False
TextBox3.Visible = False
TextBox4.Visible = False
TextBox5.Visible = False
TextBox6.Visible = False
TextBox7.Visible = False
TextBox8.Visible = False
Case 3
'Rumpf formula
Label2.Text = "Enter the organic load of filter, W (g BOD/day):"
Label3.Text = "Enter the volume of the filter, V (m3):"
RadioButton1.Visible = False
RadioButton2.Visible = False
Label4.Visible = False
Label5.Visible = False
Label6.Visible = False
Label7.Visible = False
Label8.Visible = False
Label9.Visible = False
Label10.Visible = False
TextBox3.Visible = False
TextBox4.Visible = False
TextBox5.Visible = False
TextBox6.Visible = False
TextBox7.Visible = False
TextBox8.Visible = False
Case 4
Label2.Text = "Enter the population number:"
Label3.Text = "Enter the rate of population growth, 0 if unknown:"
Label4.Text = "Enter the 5-day BOD, mg/L:"
Label5.Text = "Enter the recirculation ratio Ru:"
Label6.Text = "Enter the flow rate of wastewater, Q (m3/c/day):"
Label8.Text = "Enter the efficiency of sedimentation (%):"
Label9.Text = "Enter the removal efficiency (%):"
Label10.Text = "Enter the filter depth, h (m):"
RadioButton1.Visible = False
RadioButton2.Visible = False
TextBox3.Visible = True
TextBox4.Visible = True
TextBox5.Visible = True
TextBox6.Visible = True
TextBox7.Visible = True
TextBox8.Visible = True
Label4.Visible = True
Label5.Visible = True
Label6.Visible = True
Label7.Visible = False
Label8.Visible = True
Label9.Visible = True
Label10.Visible = True
End Select
End Sub
Sub calculateResults()
Select Case ListBox1.SelectedIndex
'National Research Council formula
Case 0
Li = Val(TextBox1.Text)
Le = Val(TextBox2.Text)
If Le = 0 Then
Q = Val(TextBox3.Text)
Ru = Val(TextBox4.Text)
V = Val(TextBox5.Text)
W = Q * Li
F1 = (1 + Ru) / ((1 + 0.1 * Ru) ^ 2)
Eff = 100 / (1 + 0.44 * (W / (V * F1)) ^ 0.5)
Else
Eff = 100 * (Li - Le) / Li
End If
Case 1
'Velz formula
Li = Val(TextBox1.Text)
Ru = Val(TextBox2.Text)
'is it a high rate filter?
If RadioButton1.Checked Then
K = 0.49
Else : K = 0.57
End If
h = Val(TextBox3.Text)
A = (1 + Ru) * Exp(K * h)
Le = Li / (A - Ru)
Eff = 100 * (Li - Le) / Li
Case 2
'Rankin formula
Li = Val(TextBox1.Text)
Ru = Val(TextBox2.Text)
Le = Li / (3 + (2 * Ru))
Eff = 100 * (Li - Le) / Li
Case 3
'Rumpf formula
W = Val(TextBox1.Text)
V = Val(TextBox2.Text)
Eff = 93 - (0.017 * W / V)
Case 4
POP = Val(TextBox1.Text)
rate = Val(TextBox2.Text)
BOD5 = Val(TextBox3.Text)
Ru = Val(TextBox4.Text)
Qc = Val(TextBox5.Text) / 1000
Eff = Val(TextBox6.Text)
Effr = Val(TextBox7.Text)
h = Val(TextBox8.Text)
If Eff < 1 Then Eff = Eff * 100
If Effr < 1 Then Effr = Effr * 100
'recirculation factor
Dim F = (1 + Ru) / (1 + 0.1 * Ru) ^ 2
'wastewater flow
Q = Qc * POP
'BOD concentration entering trickling filter
Li = BOD5 * (1 - (Eff / 100))
'influent BOD load to the filter
W = Q * Li / 1000
'volume of filter by NCR formula
V = W / (F * ((100 / Effr - 1) / 0.44) ^ 2)
'surface area
A = V / h
'diameter of filter
Dim D = (4 * A / PI) ^ 0.5
Label11.Text = "The diameter of the filter (m) = " + FormatNumber(D, 2)
End Select
If ListBox1.SelectedIndex <> 4 Then
Label11.Text = "Efficiency = " + FormatNumber(Eff, 2) + " %"
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
End Sub
End Class
Table 5.12 shows the typical design information for trickling filter.
TABLE 5.12
Typical Design Information for Trickling Filter
Parameter Low-Rate Filter High-Rate Filter Roughing Filter
Organic loading 0.070.32 0.321.0 0.86.0
(kg/m3 /day)
Hydraulic loading 14 1040 30200
(m3 /m2 /day)
Depth (m) 1.53(2) 12(2) 4.512
Recirculation ratio 0 0.53 Varies
Filter media Crushed stone, gravel, slag, synthetic material, Crushed stone slag, gravel, rock, Synthetic materials, red wood, and
and so on and so on so on
Power requirement 24 610 1020
(kW/1000 m3 )
Sloughing Intermittent Continuous Continuous
Dosing intervals Not greater than 5 min (generally intermittent) Not greater than 15 s (Continuous) Continuous
Filter flies Many Few, larvae are washed away
5.11.1 INTRODUCTION
WSPs are shallow earthen basins with a controlled shape or a natural depression that receives
wastewater and retains it so that biological processes can proceed at acceptable levels. They can be
classified according to the type of biological activity taking place, such as anaerobic, facultative, or
aerobic.
Anaerobic WSPs are deep ponds devoid of oxygen except for a relatively thin surface layer. This type
of pond receives wastewater with a high organic load or wastewater with a high level of solids (i.e., not
presettled in a settling unit operation such as a septic tank). The objectives of an anaerobic WSP include
settling of solids, partial treatment of wastewater, and discharge of the effluent to a facultative pond. The
main biological action here is achieved by anaerobic organisms. Usually, anaerobic ponds are used in
series with facultative (or aerobicanaerobic) ponds to provide complete treatment.
In facultative WSPs, aerobic conditions prevail in the upper surface mainly by using oxygen produced
by algal organisms and to a lesser extent oxygen from the atmosphere. Anaerobic conditions develop at
the bottom of the pond due to stagnant conditions. The depth of the aerobic and anaerobic zones is a
function of mixing conditions, wind action, sunlight penetration, and the hours of daylight. Algae and
bacteria are responsible for biodegradation of organic matter in the aerobic layers of the pond. Bacteria
use oxygen for oxidation of waste organics to synthesize new cells and produce stable end products (such
as carbon dioxide, nitrates, and phosphates). These inorganic compounds are used by algae, in the
presence of sunlight, to yield new cells with end products such as oxygen. The oxygen produced is then
used by the bacteria. This mutual benefit between bacteria and algae is termed symbiotic relationship.
The biological solids in the aerobic zone, together with heavy solids, settle to the anaerobic zone in the
pond. These solids provide the needed food for the benthic anaerobic organisms. Solids in the anaerobic
zone are then converted to organic acids and gases yet to be released in a soluble form to organisms in the
aerobic zone of the pond. A facultative pond receives wastewater from a sewer system or from an
anaerobic pond. Effluent is then retained for some days, and the treated wastewater is discharged to a
polishing pond. Figure 5.8 illustrates a schematic diagram of a facultative WSP.
1. Site selection: Gravity flow is practical in order to minimize pumping. Pumping of wastewater
will increase the cost, use energy, and also require added operational and maintenance efforts.
2. Soil: The soil needs to be fairly impermeable, not sandy or gravely (to avoid seepage and
groundwater contamination), and must be easy to excavate. Adequate soil provides material for
constructing the embankments.
3. Drainage: Good drainage is required to provide for the discharge of the treated wastewater
from the pond.
4. Size: The size provided for a WSP must be large enough to accommodate the anticipated flows.
5. Layout: Ponds must be located at an appropriate distance from the neighboring houses and
dwellings. The distance between the pond site and the nearest dwelling must be in excess of 200
m. The greater the distance between the ponds and the community, the better the situation.
6. Wind direction: Ponds must be located in a downwind direction from a community to avoid
airborne pollution problems.
5.11.2.1 General
The expected daily flow of wastewater into the WSP is reported as Q, L/day.
The average annual water temperature in the WSP is reported as T, C.
The organic loading rate of the wastewater effluent is given as OL, g/L.
The minimum required area of WSP can then be calculated from the relationship given in the
following equation:
(5.78)
where:
A is the minimum required area of WSP, m2
OL is the organic loading rate of the effluent, g/L
Q is the daily flow of sewage into the WAP, L/day
(5.79)
(5.80)
where:
l is the length of the pond, m
B is the width of the pond, m
The depth of a WSP usually lies between 1 and 3 m, depending on the type and volume of
wastewater, climatic conditions, and WSP classification.
(5.81)
where:
Q is the wastewater flow rate to the pond, m3/s
Li is the influent BOD, mg/L
Le is the effluent BOD, mg/L
V is the volume, m3
kp is the removal rate constant for WSP, day1
The mathematical relationship for a single WSP may be derived upon rearrangement of Equation
6.41, as presented in the following equation:
(5.82)
where:
Le is the effluent BOD, mg/L
Li is the influent BOD, mg/L
Kp is the removal rate constant for WSP, day1
V is the volume, m3
Q is the wastewater flow rate to the pond, m3/s
t is the detention time, days
For more than one WSP arranged in series, the effluent of one pond becomes influent to the next.
Thus, a substrate balance written across a series of N ponds yields the following equation:
(5.83)
where:
Le is the effluent BOD, mg/L
Li is the influent BOD, mg/L
t is the retention time, days
kp is the removal rate constant for WSP, day1
N is the number of ponds
The variation of the removal rate constant with the temperature can be calculated by the following
equation:
(5.84)
where:
(kp)T is the removal rate constant for WSP at temperature T, day1
(kp)20 is the removal rate constant for WSP at a temperature of 20C, day1. (It relates to degradability
of waste organics, temperature, and completeness of aeration mixing. It ranges between 0.3 and 1 per day
to base e and at 20C.) (Hammer and Hammer 2011) Tc is the temperature constant (a function of
biodegradability, ranging from 1.03 to 1.12, usually taken equal to 1.035) n is the number of WSP
The value of the detention time can be found from the relationship shown in the following equation:
(5.85)
where:
V is the volume of the pond, m3
Q is the rate of wastewater flow, m3/s
The depth of the WSP may be assumed, and the surface area may be determined from the following
equation:
(5.86)
where:
A is the area of WSP, m2
h is the depth of WSP, m
Example 5.14
1. Write a computer program for the design of a WSP given the 5-day BOD of wastewater
(mg/L), the flow rate (m3/s), the lowest temperature (C), the removal rate constant for the
pond (d1), at any temperature (C), the temperature correction factor, the effluent 5-day
BOD from the pond (mg/L), and the depth of pond (m).
2. Wastewater with a 5-day BOD of 200 mg/L and flowing at a rate of 1.6 m3/min is to be
a. treated in a WSP. Determine the surface area of the pond, given the following data: Lowest
temperature = 23C
b. Removal rate constant for the pond = 0.25/day at 20C, temperature correction factor = 1.05
c. Effluent 5-day BOD from the pond = 25 mg/L
d. Depth of pond = 1.4 m
3. Use the program established in (1) to verify computations obtained in (2).
Solution
1. For solution to Example 5.14 (1), see the listing of Program 5.14.
2. Solution to Example 5.14 (2):
a. Given: Q = 1.6 m3/min, Li = 200 mg/L, Le = 25 mg/L, (kp)20 = 0.25/day, h = 1.4 m, Tmin = 23C,
Tc = 1.05.
b. Find the removal rate constant for the pond at the lowest temperature of 25C as follows: (kp)25
= (kp)20(1.05)(T20) = 0.25(1.05)(2320) = 0.29/day.
c. Find the detention time of the pond as follows: Le/Li = 1/(1 + kp * t). Use equation to find
detention time: 25/200 = 1/(1 + 0.29 * t). This yields detention time of t = 24.1875 day.
d. Compute the volume of the WSP as follows: V = t * Q = 24.1875 * 1.6 * 60 * 24 = 55727.9 m3.
e. Determine the surface area of the pond as follows: A = V/h = 55727.9/1.4 = 39805 m2.
'*********************************************************************************
'Program 5.14: Design of a Waste Stabilization Pond
'*********************************************************************************
Imports System.Math
Public Class Form1
Const G = 9.81
Dim Q, Li, Tmin, Kp, Tc, Lo, h As Double
Dim A As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 5.14: Design of a
Waste Stabilization Pond"
Me.MaximizeBox = False
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
label1.text = "Enter the flow rate, Q (m3/min):"
label2.text = "Enter the 5-day BOD (mg/L):"
label3.text = "Enter the lowest temperature, T (degree C):"
label4.text = "Enter the removal rate constant for the pond (/day):"
label5.text = "Enter the temperature correction factor:"
label6.text = "Enter the effluent 5-day BOD, (mg/L):"
label7.text = "Enter the depth of the pond, d (m):"
button1.text = "&Calculate"
Label8.Text = ""
Label9.Text = "Decimal places:"
NumericUpDown1.Value = 2
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
End Sub
Sub calculateresults()
Q = Val(textbox1.text)
Li = Val(textbox2.text)
Tmin = Val(textbox3.text)
Kp = Val(textbox4.text)
Tc = Val(textbox5.text)
Lo = Val(textbox6.text)
h = Val(textbox7.text)
Dim Kpt, dt, V As Double
'removal rate constant at T
Kpt = Kp * Tc ^ (Tmin - 20)
'detention time
dt = (Li / Lo - 1) / Kpt
'volume of stabilization pond
V = dt * Q * 60 * 24
'surface area of the pond
A = V / h
End Sub
Sub showResults()
Label8.Text = "The required surface area of the pond (m2) = " +
FormatNumber(A, NumericUpDown1.Value) End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateresults()
showResults()
End Sub
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles NumericUpDown1.ValueChanged showResults()
End Sub
End Class
(5.87)
where:
Ne is the effluent bacterial number, the number of bacteria per 100 mL
Ni is the influent bacterial number, the number of bacteria per 100 mL
k is the bacterial die-off rate, day1
t is the retention time, days
The rate of die-off of fecal organisms in a multicelled maturation WSP can be estimated by the
following equation:
(5.88)
The detention time of the maturation pond may be determined from the relationship between
volume and flow as presented in the following equation:
(5.89)
or
Example 5.15
1. Write a computer program to find the retention time and volume of a pond required to reduce
the bacterial number by any percentage (a) with a bacterial die-off rate of k (per day), given
the rate of wastewater flow to the pond as Q (m3/day).
2. A polishing pond reduces the bacterial number by 99% with a bacterial die-off rate of
0.5/day. Wastewater is introduced to the pond at the rate of 20 m3/day. Find the necessary
retention time and the volume of the pond.
3. Use the program established in (1) to verify computations obtained in (2).
Solution
1. For solution to Example 5.15 (1), see the listing of Program 5.15.
2. Solution to Example 5.15 (2):
TABLE 5.13
Design Information for WSPs
Anaerobic Facultative Aerobic
Influent Sewage with high organic load Sewage from a sewerage system or anaerobic Sewage from facultative ponds
and high degree of solids pond
Treatment Partial
Disposal of To facultative pond Maturation pond Agricultural irrigation, fish farming, and
effluent aquatic birds
Depth (m) 24 11.5 1
Detention time 820 20180 510
(days)
Main biological Organisms that do not require Anaerobic and aerobic Aerobic organisms
action DO for feeding and
reproduction
Operation Parallel or series connection At least three ponds in series, parallel useful for One or more, series or parallel
large ponds
Color Grayish black Green or brownish green Green
Frequency of 212 820 Probably never
sludge removal
(years)
Optimum 30 20 20
temperature (C)
Oxygen 0.71.4 times removed BOD
requirement
pH 6.87.2 6.59.0 6.58.0
Chemicals needed Nutrients when there is a Nutrients when there is a deficiency; no other
deficiency; no other chemicals chemicals
Expected Odors, large land requirements, Odors when loading is high, groundwater Reduction in problems associated with
problems groundwater pollution pollution, reduction in biological activity in cold biological activity under cold weather
climates conditions
Source: Metcalf and Eddy, Inc., Tchobanoglous, G., Stensel, H. D., Tsuchihashi R., and Burton, F., Wastewater Engineering: Treatment and
Resource Recovery, 5th ed, McGraw-Hill Science/Engineering/Math, 2013; Abdel-Magid, I. M., Selected Problems in Wastewater
Engineering, National Research Council, Khartoum University Press, Khartoum, Sudan, 1986; Vernick, A. S., and Walker, F. C.,
Handbook of Wastewater Treatment Processes, Pollution Engineering and Technology Series No. 19, Marcel Dekker, New York,
1981.
'*********************************************************************************
'Program 5.15: Retention Time and Volume of a Pond
'*********************************************************************************
Imports System.Math
Public Class Form1
Const G = 9.81
Dim Q, k, kil, rat, t, V As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 5.15: Retention Time
and Volume of a Pond"
Me.MaximizeBox = False
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Label4.AutoSize = False
Label4.Height = 52
Label4.Width = 372
Label4.Text = ""
Label1.Text = "Enter flow rate, Q (m3/day):"
Label2.Text = "Enter bacterial die away rate, k (/day):"
Label3.Text = "Enter bacterial number reduction (%):"
Button1.Text = "&Calculate"
Label5.Text = "Decimals:"
NumericUpDown1.Value = 2
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
End Sub
Sub calculateResults()
Q = Val(TextBox1.Text)
k = Val(TextBox2.Text)
kil = Val(TextBox3.Text)
If kil < 1 Then kil *= 100
rat = (100 - kil) / 100
'detention time
t = (1 / rat - 1) / k
'volume of pond
V = t * Q
End Sub
Sub showResults()
Label4.Text = "The detention time of the pond (days): " + FormatNumber(t,
NumericUpDown1.Value) + vbCrLf Label4.Text += "The volume of the pond (m3): "
+ FormatNumber(V, NumericUpDown1.Value)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
showResults()
End Sub
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles NumericUpDown1.ValueChanged showResults()
End Sub
End Class
(5.90)
where:
Vg is the volumetric gas production rate, or the specific yield, m3 gas per m3 digester per day Yt is the
ultimate gas yield, m3 gas per kg VS added
VS is the concentration of influent volatile solids, kg/m3
Kn is the kinetic coefficient, dimensionless
t is the hydraulic detention time, day
smax is the maximum specific growth rate of microorganisms, day1
Table 5.14 gives the general design information for a conventional anaerobic digester.
TABLE 5.14
Design Information for a Conventional Anaerobic Digester
Parameter Value
Volatile solids loading (kg/m3 /day) 0.32
Volatile solids destruction (%) 4050
Gas production (m3 gas per kg VS) 0.21.5
Influent sludge solids (kg/m3 /day) 25
Total solids decomposition (%) 3040
pH 6.57.4
Alkalinity concentration (mg/L) 20003500
Solids retention time (days) 3090
Digester capacity, m3 /capita 0.10.17
Gas composition (%)
Methane 6570
Carbon dioxide 3235
Hydrogen sulfide Trace
Temperature (C) 3055
Source: Rowe, D. R. and Abdel-Magid, I. M., Handbook of Wastewater Reclamation and Reuse, CRC Press/Lewis Publishers, Boca
Raton, FL, 1995; Lin, S., and Lee, C., Water and Wastewater Calculations Manual, 2nd ed, McGraw-Hill Professional, 2007;
Abdel-Magid, I. M., Selected Problems in Wastewater Engineering, National Research Council, Khartoum University Press,
Khartoum, Sudan, 1986; Gunnerson, C. G., and Stuckey, D. C., Integrated Resources Recovery: Anaerobic Digestion Principles
and Practice for Biogas Systems, Technical Paper Number 49, World Bank, Washington, DC, 1986.
Example 5.16
1. Develop a computer program to find the volumetric gas production rate in an anaerobic
digester, given the specific yield (m3 gas per m3 digester per day), the ultimate gas yield (m3
gas per kg VS added), the concentration of influent volatile solids (kg/m3), the kinetic
coefficient, the hydraulic detention time (d), and the maximum specific growth rate of
microorganisms (day1).
2. Compute the volumetric gas production rate from a beef waste, given that the influent
volatile solids concentration to the digester amounts to 180 kg/m3 for a hydraulic retention
time of 15 days. The maximum specific growth rate of microorganisms is 0.15/day at a
temperature of 20C. Take the ultimate methane yield equal to 0.3 m3 methane per kg VS
added, the kinetic coefficient equal to 1.5, and the digester volume equal to 6 m3.
3. Use the computer program of (1) to verify computations obtained in (2).
Solution
1. For the solution to Example 5.16 (1), see the listing of Program 5.16.
2. Solution to Example 5.16 (2):
'*********************************************************************************
'Program 5.16: Volumetric Gas Production Rate in Digesters
'*********************************************************************************
Public Class Form1
Dim Yt, VS, Uxmax, t, Kn, Vd, Vx, Px As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 5.16: Volumetric Gas
Production Rate in Digesters"
Me.MaximizeBox = False
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Label7.AutoSize = False
Label7.Height = 52
Label7.Width = 372
Label7.Text = ""
Label1.Text = "Enter the specific yield, Yt (m3 gas/kg VS):"
Label2.Text = "Enter the influent volatile solids concentration, VS
(kg/m3):"
Label3.Text = "Enter the max specific growth rate of microorganisms
(/day):"
Label4.Text = "Enter the retention time, t (days):"
Label5.Text = "Enter the kinetic coefficient, Kn:"
Label6.Text = "Enter the volume of the digester (m3):"
Button1.Text = "&Calculate"
Label8.Text = "Decimals:"
NumericUpDown1.Value = 2
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
End Sub
Sub calculateResults()
Yt = Val(TextBox1.Text)
VS = Val(TextBox2.Text)
Uxmax = Val(TextBox3.Text)
t = Val(TextBox4.Text)
Kn = Val(TextBox5.Text)
Vd = Val(TextBox6.Text)
Vx = Yt * VS * (1 - (Kn / (t * Uxmax - 1 + Kn))) / t
Px = Vx * Vd
End Sub
Sub showResults()
Label7.Text = "The volumetric gas production rate (m3/m3/day): " +
FormatNumber(Vx, NumericUpDown1.Value) + vbCrLf Label7.Text += "The daily
amount of gas production (m3): " + FormatNumber(Px, NumericUpDown1.Value)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
showResults()
End Sub
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles NumericUpDown1.ValueChanged showResults()
End Sub
End Class
5.12.2.1 Introduction
Sludge dewatering is a physical unit operation utilized in rendering the moisture content of sludge with the
following objectives: Reduction of sludge volume
Promotion of the sludge-handling process
Retardation of biological decomposition
Increase the sludge calorific value by removal of excess moisture
Removal of sludge odors
Reduction of leachate production at sanitary landfills
Safe use of sludge for landscape fertilizer or as a farmland fertilizer
The methods used for sludge dewatering include land disposal (drying beds, injection, ridge and
furrow, spray irrigation, lagooning), vacuum filters, pressure filters, centrifuges, composting, elutration,
and compaction. These methods are of a physical rather than chemical nature.
In the drying bed operation, sludge is spread in an open area to assist in the moisture reduction through
evaporation or drainage according to prevailing climatic conditions, soil topography, hydrology of the
area, meteorological factors, type and properties of sludge, nature and size of solid particles, bed
dimensions especially the depth, shape of drying surface as related to air flow, land value, and
management (Vernick and Walker 1981; Rowe and Abdel-Magid 1995; Viessman et al. 2008; U.S.
Environmental Protection Agency 2012). Collected filtrate is usually returned to the treatment plant, and
the sludge is removed from the drying bed after it has drained and dried sufficiently to be stable (Smith
and Scott 2002).
Vacuum filtration is a continuous operation carried out at pressures ~70% of the atmospheric pressure
(Rowe and Abdel-Magid 1995). Chemical conditioning is used before vacuum filtration to agglomerate
small particles. This method is used in larger facilities where space is limited, or when incineration is
necessary for maximum volume reduction (Vernick and Walker 1981). The factors that affect the vacuum
filter yield include the type and properties of sludge, the type, and the concentration of the conditioner and
conditioning procedure, the type and condition of the filter cloth, and the operational parameters of the
filter (Vernick and Walker 1981; Rowe and Abdel-Magid 1995).
Pressure filtration is a batch process that dewaters a conditioned sludge. Application of pressure
drains the liquor and retains the sludge cake. Factors influencing operation include the pressure applied,
the type and life of filter, the sludge properties, and the conditioning and collection and final disposal of
the cake.
Centrifugation (solid bowl, disc, basket type) uses centrifugal and Stokes frictional forces to increase
the settling rate of sludge solids. The method is used in large facilities where space is limited or when
incineration is required (Vernick and Walker 1981). Factors of importance include solids content, particle
size and shape, electrostatic factors, viscosity effect, differential density between solid particles and
liquid, disposal of centrate, availability of power, properties of sludge, rotational speed, hydraulic
loading rate, depth of liquid pool in bowl, and use of polyelectrolyte to improve performance (Vernick
and Walker 1981; Rowe and Abdel-Magid 1995; Metcalf and Eddy 2013).
In sludge composting, the sludge is mixed with a bulking material (e.g., wood chips, leaves, garbage,
rags, paper, cardboard, etc.) to form an aerated, porous pile. Decomposition is achieved by aerobic and
thermophilic bacteria. The method may be used to convert digested and undigested sludge cake (Vernick
and Walker 1981). Factors affecting the process include weather conditions, properties of sludge, and the
aeration rate.
In elutriation, the sludge is washed with treated effluent to yield a porous sludge. During mixing of
elutriant and sludge, substances such as carbonates and phosphates are removed from the sludge, together
with products of decomposition and nonsettleable fine solids (Rowe and Abdel-Magid 1995; U.S.
Environmental Protection Agency 2012).
In general, the main factors that affect dewatering practice include the nature and content of the fine
particles, sludge solids content, particle size and charge, shearing strength, protein content, pH, moisture
content, anaerobic digestion, and the type and concentration of the filter aids and conditioners used.
(5.91)
where:
t is the time of filtration, s
V is the volume of filtrate, m3
is the viscosity of filtrate, N*s/m2
rs is the specific resistance of sludge cake, m/kg
C is the solids content, kg/m3
P is the pressure applied, N/m2
A is the area of filtration, m2
Rm is the resistance of filter medium, m1
(5.92)
where:
(5.93)
(5.94)
Plotting t/V versus V yields a straight line of gradient b, and rs is found as indicated in the following
equation:
(5.95)
where:
rs is the specific resistance of sludge cake, m/kg
b is the slope of the straight line of t/V versus V, s/m6
P is the pressure applied, N/m2
A is the area of filtration, m2
is the viscosity of filtrate, N*s/m2
C is the solids content, kg/m3
The specific resistance to filtration may be defined as follows: The resistance to filtrate flow caused
by a cake of unit weight of dry solids per unit filter area (Abdel-Magid 1982). Table 5.15 gives a
general outline of the values of the specific resistance and gives an estimation of the degree of the sewage
sludge dewaterability.
TABLE 5.15
Sludge Characteristics as Related to Specific Resistance
Specific Resistance Value Sludge Characteristics (m/kg)
1011 1012 Easily filtered sludge
1014 1015 Poorly filtered sludge
Sources: Rowe, D.R. and Abdel-Magid, I.M., Handbook of Wastewater Reclamation and Reuse, CRC Press/Lewis Publishers, Boca
Raton, FL, 1995; Abdel-Magid, I. M., Selected Problems in Wastewater Engineering, National Research Council, Khartoum
University Press, Khartoum, Sudan, 1986; Fair, G. M. et al. J. Am. Water Works Assoc., 40,1051, 1966.
The value of rs for most wastewater sludges changes with pressure as indicated in the following
equation:
(5.96)
where:
rs is the specific resistance to filtration at applied pressure P, m/kg
rs is a constant
a is the coefficient of compressibility (varies between 0 and 1)
Equation 5.96 can be arranged in a straight line relationship form as presented in the following
equation:
(5.97)
The compressibility coefficient is taken to be the slope, a, of the straight line obtained by plotting
log(rs) versus log(P). The greater the value of a, the more compressible is the sludge. Figure 5.9 shows a
sketch of the apparatus used in determining the specific resistance of sludge to filtration.
Example 5.17
1. Write a computer program to compute the specific resistance of a sample of a sludge, given
the variation of a collected volume of filtrate V (mL) with t (s), the vacuum applied P
(N/m2), the filtrate viscosity (N*s/m2), the solids concentration C (kg/m3), and the area of
filtration A (m2). Design the computer program to show whether the sludge under
consideration is amenable to dewatering by vacuum filtration.
2. The following data were obtained in an experiment in order to determine its specific
resistance to filtration:
Volume of Filtrate Collected (mL) Time Taken to Collect Volume (min)
6.8 1
9.5 2
11.6 3
13.4 4
14.9 5
a. Find the specific resistance of the sludge, given the vacuum pressure used = 60 kPa, the
dynamic viscosity of filtrate = 1.139 * 103 N*s/m2, the volume of sample used in filtration =
50 mL, the solids concentration = 0.084 g/mL, and the diameter of filter paper used in the
experiment = 7 cm.
b. Is this sludge amenable to dewatering by vacuum filtration? State your reasons.
3. Use the computer program of (1) to verify computations obtained in (2).
Solution
1. For the solution to Example 5.17 (1), see the listing of Program 5.17.
2. Solution to Example 5.17 (2):
a. Given: the variation of volume of filtrate collected with time of filtration, P = 60 * 103 N/m2,
= 1.139 * 103 N * s/m2, C = 0.084 g/mL, D = 7 cm.
b. Find the ratio of time to filtrate volume, t/V, as follows:
Time (s)
60 120 180 240 300
Time/volume of filtrate collected (s/m2 ) 8.82 12.63 15.52 17.91 20.13
Volume of filtrate collected (mL) 6.8 9.5 11.6 13.4 14.9
c. Draw the straight line of the plot of t/V versus V, and determine the slope of the straight line as
follows: b = 1.387 * 1012 s/m6.
d. Find the area of filtration as follows: A = (0.07)2/4 = 38.48 * 104 m2.
e. Find the sludge solids concentration as follows: C = 0.084 * 103/106 = 84 kg/m3.
f. Compute the sludge specific resistance as follows: rs = 2 * b * P * A2/ * C = (2 * 1.387 * 1012
* 60 * 103* (38.48 * 104)2)/(1.139 * 103* 84) = 2.58 * 1013 m/kg.
g. Because the specific resistance of this sludge exceeds the value of 1 * 1012 m/kg (with rs = 2.58
* 1013 m/kg), it will not filter well in a vacuum filter.
'*********************************************************************************
'Program 5.17: Specific Resistance of Sludge
'*********************************************************************************
Imports System.Math
Public Class Form1
Dim Rx, P, mu, c, d, N As Double
Dim t(), v(), tov() As Double
Dim assess As String
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 5.17: Specific
Resistance of Sludge"
Me.MaximizeBox = False
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Label1.Text = "Enter the vacuum applied, P (N/m2):"
Label2.Text = "Enter the filtrate viscosity, mu (Ns/m2):"
Label3.Text = "Enter the solids concentration, C (g/mL):"
Label4.Text = "Enter the diameter of the filter paper used, d (m):"
Label5.Text = "Enter the number of measurements of volume and time:"
Label6.Text = "Enter the data collected for volume versus time:"
Label7.Text = ""
Label7.AutoSize = False
Label7.Width = 215
Label7.Height = 45
Button1.Text = "&Calculate"
DataGridView1.Columns.Clear()
DataGridView1.Columns.Add("VCol", "Volume of filtrate (mL)")
DataGridView1.Columns.Add("TCol", "Time (minutes)")
DataGridView1.AllowUserToAddRows = False
Label8.Text = "Decimals:"
NumericUpDown1.Value = 2
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
End Sub
Sub calculateResults()
P = Val(TextBox1.Text)
mu = Val(TextBox2.Text)
c = Val(TextBox3.Text)
d = Val(TextBox4.Text)
N = Val(TextBox5.Text)
If N <= 0 Then Exit Sub
If DataGridView1.ColumnCount < 3 Then
DataGridView1.Columns.Add("TVCol", "t/V")
DataGridView1.Columns("TVCol").ReadOnly = True
End If
ReDim t(N), v(N), tov(N)
Dim b, A, X1, Y1, sum1, sum2 As Double
Y1 = 0.0!
X1 = 0.0!
For i = 1 To N
v(i) = Val(DataGridView1.Rows(i - 1).Cells("VCol").Value)
t(i) = Val(DataGridView1.Rows(i - 1).Cells("TCol").Value)
t(i) = t(i) * 60 'convert to seconds
tov(i) = t(i) / v(i)
DataGridView1.Rows(i - 1).Cells("TVCol").Value = FormatNumber(tov(i), 2)
Y1 = Y1 + tov(i)
X1 = X1 + v(i)
Next i
'compute averages for regression analysis
Y1 = Y1 / N 'average t/v
X1 = X1 / N 'average v
Sum1 = 0.0!
Sum2 = 0.0!
For i = 1 To N
Sum1 = sum1 + (tov(i) - Y1) * (v(i) - X1)
Sum2 = sum2 + (v(i) - X1) ^ 2
Next i
b = sum1 / sum2 'the slope of the line
b *= (10 ^ 12)
A = Pi / 4 * d ^ 2 'area of filtration
c = c * 10 ^ 3 'convert to kg/m3
Rx = 2 * b * P * (A ^ 2) / (mu * c) 'specific resistance
assess = "case not covered by Table 5.15"
If Rx < (10 ^ 12) Then assess = "Easily filtered sludge"
If Rx > (10 ^ 12) Then assess = "Poorly filtered sludge"
End Sub
Sub showResults()
Label7.Text = "The specific resistance of the sludge (m/kg): " +
FormatNumber(Rx, NumericUpDown1.Value) Label7.Text += vbCrLf + assess
End Sub
Private Sub TextBox5_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TextBox5.TextChanged If N <> Val(TextBox5.Text)
Then
If Val(TextBox5.Text) <= 0 Then Exit Sub
N = Val(TextBox5.Text)
DataGridView1.Rows.Clear()
DataGridView1.Rows.Add(CInt(N))
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
showResults()
End Sub
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles NumericUpDown1.ValueChanged showResults()
End Sub
End Class
Example 5.18
1. Write a computer program to determine the compressibility of a sludge sample for a set of
specific resistance values and corresponding pressures.
2. For a sample of sewage sludge, the following specific resistance values were obtained for
the corresponding applied vacuum pressures:
Pressure Applied (kPa) Specific Resistance, r *10 13 (m/kg)
293.04 57.85
586.075 104.45
1172.15 186.54
1758.225 256.84
2344.3 331.89
1. For the solution to example 5.18 (1), see the listing of Program 5.18.
2. Solution to Example 5.18 (2):
c. Plot log(r) as a function of log(P). Find the slope of the drawn line to correspond to the
compressibility coefficient of the sample as s = 0.84.
3. Use program developed in (1) to verify solution obtained in (2).
'*********************************************************************************
'Program 5.18: Compressibility of Sludges
'*********************************************************************************
Imports System.Math
Public Class Form1
Dim N, X1, Y1, P, R, b As Double
Dim logP(), logR() As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 5.18:
Compressibility of Sludges"
Me.MaximizeBox = False
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Label1.Text = "Enter the number of measurements of data of volume and
time:"
DataGridView1.Columns.Clear()
DataGridView1.Columns.Add("PCol", "Pressure (kPa)")
DataGridView1.Columns.Add("RCol", "S.R. (/10^13) m/kg")
DataGridView1.AllowUserToAddRows = False
Label2.Text = ""
button1.text = "&Calculate"
Label3.Text = "Decimals:"
NumericUpDown1.Value = 2
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
End Sub
Sub calculateResults()
N = Val(TextBox1.Text)
If N <= 0 Then Exit Sub
ReDim logP(N), logR(N)
Y1 = 0.0!
X1 = 0.0!
If DataGridView1.ColumnCount < 4 Then
DataGridView1.Columns.Add("LPCol", "Log(P)")
DataGridView1.Columns.Add("LRCol", "Log(r)")
DataGridView1.Columns("LPCol").ReadOnly = True
DataGridView1.Columns("LRCol").ReadOnly = True
End If
For i = 1 To N
P = Val(DataGridView1.Rows(i - 1).Cells("PCol").Value)
R = Val(DataGridView1.Rows(i - 1).Cells("RCol").Value)
R *= Math.Pow(10, 13)
P *= 1000
logR(i) = Log10(R)
logP(i) = Log10(P)
DataGridView1.Rows(i - 1).Cells("LPCol").Value = FormatNumber(logP(i), 2)
DataGridView1.Rows(i - 1).Cells("LRCol").Value = FormatNumber(logR(i), 2)
Y1 = Y1 + logR(i)
X1 = X1 + logP(i)
Next i
Dim sum1, sum2 As Double
'compute averages for regression analysis
Y1 = Y1 / N 'average t/v
X1 = X1 / N 'average v
Sum1 = 0.0!
Sum2 = 0.0!
For i = 1 To N
sum1 = sum1 + (logR(i) - Y1) * (logP(i) - X1)
sum2 = sum2 + (logP(i) - X1) ^ 2
Next i
b = sum1 / sum2 'the slope of the line
End Sub
Sub showResults()
Label2.Text = "The compressibility coefficient of the sample = " +
FormatNumber(b, NumericUpDown1.Value) End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
showResults()
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TextBox1.TextChanged If N <> Val(TextBox1.Text)
Then
If Val(TextBox1.Text) <= 0 Then Exit Sub
DataGridView1.Rows.Clear()
DataGridView1.Rows.Add(CInt(Val(TextBox1.Text)))
N = Val(TextBox1.Text)
End If
End Sub
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles NumericUpDown1.ValueChanged showResults()
End Sub
End Class
5.12.2.3 Centrifugation
In centrifugation, settling and rejection of solids are the parameters that are considered in the modeling
and scale-up between two geometrically similar centrifuges. Settling of particles is estimated by the
sigma equation, whereas rejection of solids is measured by the beta equation (Rowe and Abdel-Magid
1995; Peirce et al. 1997).
The sigma equation is illustrated in Equation 5.98 for two centrifuges having the same settling
characteristics within the bowl (Rowe and Abdel-Magid 1995; Peirce et al. 1997):
(5.98)
where:
Q1 is the liquid flow rate into the first centrifuge, m3/s
1 is a parameter related to the properties of the first centrifuge
Q2 is the liquid flow rate into the second centrifuge, m3/s
2 is a parameter related to the properties of the second centrifuge
The sigma value for a solid bowl centrifuge can be calculated by using the following equation:
(5.99)
where:
is a parameter related to the properties of the centrifuge (Rowe and Abdel-Magid 1995; Peirce et al.
1997) vr is the rotational velocity of the bowl, rad/s
V is the liquid volume in the pool, m3
g is the local gravitational acceleration, m/s2
r1 is the radius from the centerline to the surface of the sludge, m
r2 is the radius from the centerline to inside the bowl wall, m
Solids movement in a centrifugation system may be estimated by the beta equation (Rowe and Abdel-
Magid 1995; Peirce et al. 1997):
(5.100)
where:
W1 is the solids loading rate for the first centrifuge, kg/h
1 is the beta function for the first centrifuge
W2 is the solids loading rate for the second centrifuge, kg/h
2 is the beta function for the second centrifuge
(5.101)
where:
is the beta function for a centrifuge
vw is the difference in the rotational velocity between the bowl and the conveyor, rad/s
dp is the distance between blades, or the scroll pitch, m
n is the number of leads
Z is the depth of sludge in the bowl,m
D is the bowl diameter, m
Example 5.19
1. Develop a computer program to find the flow rate at which a solid bowl centrifuge will
perform similarly as an old one that is to be replaced in order to increase sludge production.
Data given include the solids concentration (%); the rate of flow of sludge to the old
centrifuge that needs dewatering (m3/d); and the characteristics of both centrifuges, in terms
of bowl length (cm), bowl diameter (cm), bowl speed (rpm), bowl depth (cm), scroll pitch
(cm), number of leads, and conveyor velocity (rpm). Assume that the new centrifuge is
scaled up geometrically similar to larger.
2. The method of centrifugation is used to dewater a sludge of 3.5% solids content. The sludge
enters the solid bowl centrifuge at an hourly rate of 0.5 m3. Due to an increase in quantity of
sludge requiring dewatering, the centrifuge is scaled up to another geometrically similar and
larger one. The properties of the two centrifuges are tabulated as follows. Determine the
flow rate at which the second centrifuge will operate similarly to the first one.
Characteristic First Centrifuge Second Centrifuge
Bowl length (cm) 24 60
Bowl diameter (cm) 20 40
Bowl speed (rpm) 4500 4000
Bowl depth (cm) 3 5
Scroll pitch (cm) 5 10
Number of leads 1 1
Conveyor velocity (rpm) 4450 3950
3. Use the computer program developed in (1) to verify computations obtained in (2).
Solution
1. For the solution to Example 5.19 (1), see the listing of Program 5.19.
2. Solution to example 5.19 (2):
c. Estimate the settling of each centrifuge by using the sigma equation as follows:
.
i Find the volume as follows: V = 2([r1 + r2]/2) * (r2 r1) * 1.
ii Compute the sigma as follows: = [(vr)2 * V]/[g * ln (r2/r1)].
Parameter First Centrifuge Second Centrifuge
V (cm3 ) 3,847 33,000
vr (rad/s) 471 419
ln(r2 /r1 ) ln(10/7) = 0.35667 ln(20/15) = 0.28768
g (cm2 /s) 981 981
2,443,409 20,533,306
Q (m3 /day) 12 ?
iii Compute the liquid flow rate into the second centrifuge as follows: Q2 = (Q1/1) * 2 =
(12/2443409) * 20533306 = 101 m3/day. With respect to settling of solids, the second centrifuge
will achieve equal dewaterability when the flow rate is 101 m3/day.
d. Estimate the movement of solids out of centrifuge by finding the beta equation as follows: W1/1
= W2/2.
i Determine the solids loading rate for the two centrifuges as follows: W = flow rate (m3/d) * solids
ii concentration * density. (Assume density of water = 1000 kg/m3.) Determine the beta value for each
centrifuge as follows: = vw* dp* n * * Z * D.
Parameter First Centrifuge Second Centrifuge
W (kg/d) 420 ?
V w (rad/s) 50 50
dp (cm) 5 10
n (dimensionless) 1 1
Z (cm) 3.0 5.0
D (cm) 20 40
B 47,124 314,159
'*********************************************************************************
'Program 5.19: Centrifugation
'*********************************************************************************
Imports System.Math
Public Class Form1
Dim C, Q As Double
Const G = 9.81
Dim L1, L2, D1, D2, vs1, vs2, z1, z2, dp1, dp2, n1, n2, Vw1, Vw2 As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 5.19:
Centrifugation"
Me.MaximizeBox = False
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Label1.Text = "Enter the solids concentration (%):"
Label2.Text = "Enter the flow rate of sludge to be dewatered Q (m3/h):"
label3.text = "Enter the characteristics of the two centrifuges:"
Label4.AutoSize = False
Label4.Height = 68
Label4.Width = 390
Label4.Text = ""
Button1.Text = "&Calculate"
DataGridView1.Columns.Clear()
DataGridView1.Columns.Add("CCol", "Characteristic")
DataGridView1.Columns.Add("FCol", "First centrifuge")
DataGridView1.Columns.Add("SCol", "Second centrifuge")
DataGridView1.Rows.Add(7)
DataGridView1.AllowUserToAddRows = False
DataGridView1.Columns("CCol").ReadOnly = True
DataGridView1.Rows(0).Cells("CCol").Value = "Bowl Length, cm"
DataGridView1.Rows(1).Cells("CCol").Value = "Diameter, cm"
DataGridView1.Rows(2).Cells("CCol").Value = "Speed, rpm"
DataGridView1.Rows(3).Cells("CCol").Value = "Depth, cm"
DataGridView1.Rows(4).Cells("CCol").Value = "Scroll pitch, cm"
DataGridView1.Rows(5).Cells("CCol").Value = "Number of leads"
DataGridView1.Rows(6).Cells("CCol").Value = "Conveyor velocity, rpm"
End Sub
Sub calculateResults()
C = Val(TextBox1.Text)
Q = Val(TextBox2.Text)
L1 = Val(DataGridView1.Rows(0).Cells("Fcol").Value)
L2 = Val(DataGridView1.Rows(0).Cells("Scol").Value)
D1 = Val(DataGridView1.Rows(1).Cells("Fcol").Value)
D2 = Val(DataGridView1.Rows(1).Cells("Scol").Value)
vs1 = Val(DataGridView1.Rows(2).Cells("Fcol").Value)
vs2 = Val(DataGridView1.Rows(2).Cells("Scol").Value)
z1 = Val(DataGridView1.Rows(3).Cells("Fcol").Value)
z2 = Val(DataGridView1.Rows(3).Cells("Scol").Value)
dp1 = Val(DataGridView1.Rows(4).Cells("Fcol").Value)
dp2 = Val(DataGridView1.Rows(4).Cells("Scol").Value)
n1 = Val(DataGridView1.Rows(5).Cells("Fcol").Value)
n2 = Val(DataGridView1.Rows(5).Cells("Scol").Value)
Vw1 = Val(DataGridView1.Rows(6).Cells("Fcol").Value)
Vw2 = Val(DataGridView1.Rows(6).Cells("Scol").Value)
Dim R11, R12, R21, R22 As Double
Dim V1, V2, Vr1, Vr2, sig1, sig2 As Double
Dim Q1, Q2, Ro, b1, b2, C1, W1, W2 As Double
R11 = D1 / 2 : r12 = r11 - z1
R21 = D2 / 2 : r22 = r21 - z2
V1 = volume(r12, r11, L1)
V2 = volume(r22, r21, L2)
Vr1 = 2 * Pi / 60 * vs1
Vr2 = 2 * Pi / 60 * vs2
Sig1 = sigma(vr1, v1, r12, r11)
Sig2 = sigma(vr2, v2, r22, r21)
Q1 = Q * 24 'flow in first centrifuge, m3/d
Q2 = Q1 * sig2 / sig1 'flow in second centrifuge
Ro = 1000 'density of water (assumed), kg/m3
Vw1 = vs1 - Vw1
Vw2 = vs2 - Vw2
B1 = beta(Vw1, dp1, n1, z1, D1) 'beta for first centrifuge
B2 = beta(Vw2, dp2, n2, z2, D2) 'beta for second centrifuge
C1 = C / 100 'concentration of solids in first centrifuge
W1 = Q1 * C1 * Ro 'solids loading rate in first centrifuge
W2 = W1 / b1 * b2 'solids loading rate in second centrifuge
Dim s As String
s = "Results:" + vbCrLf
5.13.1 DILUTION
Discharges of small quantities of relatively dilute sludges and treated effluents find their way into water
courses. Such wastewater discharges can affect the water quality in rivers, streams, lakes, estuaries, and
oceans. To predict the effects imposed by these discharges on water courses, mathematical models have
been formulated. Factors affecting natural purification processes include the rate of flow and
characteristics of body of water, reoxygenation processes, water use downstream from the disposal point,
and the quantity of the wastewater discharge (Rowe and Abdel-Magid 1995).
In Figure 5.10, application of the principle of mass balance between two points, upstream and
downstream of the discharge point, gives an estimate of the degree of dilution in the river as presented in
(5.102)
where:
Cw is the concentration of pollutant in effluent from wastewater treatment works, mg/L
Qw is the wastewater flow rate to adjacent river, m3/s
Cr is the concentration of same pollutant in river upstream of the discharge point, mg/L
Qr is the river flow rate, m3/s
Cm is the concentration of the pollutant in mixture of river water and wastewater discharge, or
concentration of pollutant in the river downstream of point of discharge, mg/L
Qm is the rate of flow of mixture of river water and wastewater discharge or the rate of flow of river
downstream of point of discharge, m3/s
Example 5.20
1. Write a short computer program to determine the concentration of a pollutant in the mixture of
effluent and river, Cm (mg/L), given the concentration, Cw (mg/L); the rate of flow, Qw (m3/s), of
pollutant introduced to the river from the treatment facility; the river flow, Qr (m3/s); and the
amount of pollutant initially found in it, Cr (mg/L).
2. A sewage treatment work discharges its wastewater at the rate of 8 m3/s with a pollutant
concentration of 15 mg/L to a receiving stream. The concentration of a particular pollutant
upstream of the sewage treatment plant is 2 mg/L, and the river flows at a rate of 720 m3/min.
Find the pollutant concentration downstream from the sewage treatment plant.
3. Use the program indicated in (1) to verify computations of (2).
SOLUTION
1. For the solution to Example 5.20 (1), see the listing of Program 5.20.
2. Solution to example 5.20 (2):
'*********************************************************************************
'Program 5.20: Concentration of Pollutants in Rivers
'*********************************************************************************
Imports System.Math
Public Class Form1
Dim Qw, Qr, Cw, Cr As Double
Dim Qm, Cm As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 5.20: Concentration
of Pollutants in Rivers"
Me.MaximizeBox = False
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Label1.Text = "Enter the wastewater flow rate, Qw (m3/s):"
Label2.Text = "Enter the river flow, Qr (m3/s):"
Label3.Text = "Enter the effluent pollutant concentration, Cw (mg/L):"
Label4.Text = "Enter the concentration of pollutants in river, Cr (mg/L):"
Label5.Text = ""
Label6.Text = "Decimal places:"
Button1.Text = "&Calculate"
NumericUpDown1.Value = 2
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
End Sub
Sub calculateResults()
Qw = Val(TextBox1.Text)
Qr = Val(TextBox2.Text)
Cw = Val(TextBox3.Text)
Cr = Val(TextBox4.Text)
Qm = Qw + Qr
Cm = (Cw * Qw + Cr * Qr) / Qm
End Sub
Sub showResults()
Label5.Text = "The concentration of pollutants in the river = " +
FormatNumber(Cm, NumericUpDown1.Value) + " mg/L"
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
showResults()
End Sub
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles NumericUpDown1.ValueChanged showResults()
End Sub
End Class
5.13.2.1 Introduction
Natural bodies of waters may be used for discharge of treated wastewater when discharge regulations and
standards are met. The reduction of pollutant concentrations exceeding permit discharge regulations may
be achieved by adoption of appropriate treatment unit operations and processes. Table 5.16 gives general
classification patterns for rivers in terms of biochemical oxygen demand, suspended solids, and dissolved
oxygen.
TABLE 5.16
River Classification Patterns
Classification Scheme BOD5 20 (mg/L) SS (mg/L) DO, as a Percentage of Saturation Value
Very clean 1 4
Clean 2 10 90
Fairly clean 3 15 7590
Doubtful 5 21 5075
Poor 7.5 30 <50
Bad 10 35
Very bad 20 40
Source: Abdel-Magid 2012; Rowe, D.R. and Abdel-Magid, I.M., Handbook of Wastewater Reclamation and Reuse, CRC Press/Lewis
Publishers, Boca Raton, FL, 1995; Peirce, J. J. et al. Environmental Pollution and Control, 4th ed, Butterworth-Heinemann,
Oxford, 1997; Abdel-Magid, I. M., Selected Problems in Wastewater Engineering, National Research Council, Khartoum University
Press, Khartoum, Sudan, 1986. With permission.
The adverse effects of improperly treated wastewater discharges to rivers or water courses include the
following (Rowe and Abdel-Magid 1995): Prevention of usage of waster course for beneficial
purposes
Deterioration in quality of a water course
Endangering aquatic life
Generation of odors, tastes, and nuisances
Introduction of public epidemiological health hazards in the form of classical diseases or chronic
chemical poisoning Delaying the mechanisms of self-purification in a water course
(5.103)
where:
rr is the rate of reaeration
Cs is the dissolved oxygen saturation concentration, mg/L
C is the dissolved oxygen concentration, mg/L
K is the reaeration constant, day1 (to base e)
k can be estimated from Equation 5.104 (OConnor and Dobbins 1956; Rowe and Abdel-Magid 1995;
Metcalf and Eddy 2013) or chosen from tables such as Table 5.17: TABLE 5.17
Reaeration Constants
Water Body Range of k at 20C (to base e)
Small ponds and back waters 0.10.23
Sluggish streams and large lakes 0.230.35
Large streams of low velocity 0.350.46
Large streams of normal velocity 0.460.69
Swift streams 0.691.15
Rapids and waterfalls >1.15
Source: Metcalf and Eddy, Inc., Tchobanoglous, G., Stensel, H. D., Tsuchihashi R., and Burton, F., Wastewater Engineering: Treatment and
Resource Recovery, 5th ed, McGraw-Hill Science/Engineering/Math, New York, 2013; Rowe, D.R. and Abdel-Magid, I.M.,
Handbook of Wastewater Reclamation and Reuse, CRC Press/Lewis Publishers, Boca Raton, FL, 1995. With permission.
(5.104)
where:
v is the mean river velocity, m/s
h is the average depth of flow, m
DiffT is the molecular diffusion coefficient for oxygen, m2/d
(5.105)
where:
DiffT is the molecular diffusion coefficient for oxygen at a temperature of TC, m2/day Diffc is the
molecular diffusion coefficient for oxygen at temperature of 20C, m2/day; this may be taken to be equal
to 1.76 * 104
Tc is the temperature correction coefficient that may be taken to be equal to 1.037
T is the temperature, C
For temperature other than 20C, k can be determined by using the following equation:
(5.106)
where:
(k)T is the reaeration constant at a temperature of TC
(k)20 is the reaeration constant at a temperature of 20C
Oxygen depletion (deoxygenation) in a river is due primarily to microbial metabolic activities and
benthic deposits (Rowe and Abdel-Magid 1995; Metcalf and Eddy 2013). Deoxygenation by microbial
decomposition of organic matter may be estimated as shown in the following equation:
(5.107)
where:
rD is the rate of deoxygenation
k is the first-order reaction rate constant, day1
Lo is the ultimate BOD at point of discharge, mg/L
t is the time, days
The effect of organic solids and sediments accumulated in the benthic layer may be estimated by the
Fair et al. empirical equation (Fair et al. 1948; Rowe and Abdel-Magid 1995):
(5.108)
where:
Lm is the maximum daily benthal oxygen demand, g/m2
L0 is the BOD520 of benthal deposit, g/kg volatile matter
Tc is the temperature correction factor
VS is the daily rate of volatile solids deposition, kg/m2
t is the time during which settling takes place, day
(5.109)
where:
DOt is the oxygen deficit at time t, mg/L
k is the first-order reaction rate constant, day1
Lo is the ultimate BOD at point of discharge, mg/L
k is the reaeration constant, day1
t is the time of travel in river from point of discharge, days
DOo is the initial oxygen deficit at point of waste discharge, at time t = 0
The limitations of the model are as follows (Peavy et al. 1985; Steel and McGhee 1991; Rowe and
Abdel-Magid 1995; Masters and Ela 2007; Viessman et al. 2008; Abdel-Magid 2012; Metcalf and Eddy
2013): It ignores the effects of oxygen production by algae.
It omits oxygen depletion by benthic deposits.
It assumes one pollution source or a point source.
It neglects factors influencing organic load apart from BOD.
It assumes steady-state conditions along each river reach.
In spite of these limitations, the model provides reasonable estimation and is used extensively.
The point of lowest dissolved oxygen concentration is an important point in the sag curve. This point
represents the maximum impact on the dissolved oxygen deficit due to organic waste disposal. The
critical oxygen deficit may be estimated as indicated in the following equation:
(5.110)
where:
DOc is the critical oxygen deficit, mg/L
k is the first-order reaction rate constant, day1
Lo is the ultimate carbonaceous BOD at point of discharge, mg/L
tc is the critical time required to reach the critical distance
The critical time can be found from d(DO)/dt = 0, as found in the following equation:
(5.111)
where:
tc is the critical time, days
k is the reaeration constant, day1
k is the first-order reaction rate constant, day1
DOo is the initial oxygen deficit at the point of waste discharge, at time t = 0
Lo is the ultimate BOD at point of discharge, mg/L
(5.112)
where:
xc is the critical distance, m
tc is the critical time, days
v is the velocity of flow in the river, m/day
Example 5.21
1. Develop a computer program to find the temperature, DO, and 5-day BOD of a mixture of
river water and wastewater; the initial dissolved oxygen deficit of the river just below
wastewater treatment plant outfall; the distance downstream to critical DO; and the minimum
DO in the river below the wastewater treatment work, given the daily production of
wastewater (m3/s), the treatment plant effluent BOD (mg/L), the temperature of the
wastewater (C), dissolved oxygen in effluent of plant as the percentage of saturation
concentration (%), river flow (m3/s), the velocity of flow in river (m/s), the temperature of
river water before wastewater addition to river (C), dissolved oxygen content in river as
the percentage of saturation concentration (%), river BOD (mg/L), the first-order reaction
constant k (day1), the reaeration constant k (day1), and the temperature correction for k
and k.
2. A river flows at a rate of 12,600 m3/h with a 5-day BOD of 1 mg/L, and it is saturated with
oxygen. Wastewater effluent is discharged to the river at the rate of 12 m3/min with a 5-day
BOD of 200 mg/L. The wastewater is 10% saturated with dissolved oxygen. The velocity of
the river is 3 km/h. Assume the temperatures to be constant at 20C, and k = 0.1, k =
0.4/day. Compute for the mixture: the dissolved oxygen concentration, the 5-day BOD, the
initial deficit in the river, the minimum dissolved oxygen content, and its location
downstream from the wastewater treatment plant.
Solution
1. For the solution to Example 5.21 (1), see the listing of Program 5.21.
2. Solution to Example 5.21 (2):
a. Given: Qr = 12600/60 * 60 = 3.5 m3/s, BODr = 1 mg/L, DOr = Cs, Qw = 12/60 = 0.2 m3/s,
BODw = 200 mg/L, DOw = 0.1 * Cs.
b. Find the saturation value of oxygen, Cs, from Appendix A2 as equal to 9.2 for a temperature T
of 20C and DOw = 0.1 * 9.2 = 0.92 mg/L.
c. Determine the BOD of the mixture of river water and wastewater effluent by using the dilution
law as follows: BODm = (Cr * Qr + Cw * Qw)/Qm = (1 * 3.5 + 200 * 0.2)/(3.5 + 0.2) = 11.76
mg/L.
d. Determine the dissolved oxygen content of the mixture: DOm = (9.2 * 3.5 + 0.2 * 9.2)/(3.5 +
0.2) = 8.7524 mg/L.
e. Determine the ultimate BOD of the mixture: Lo = BODm/(1 ek*5); Lom = 11.76/(2 e0.1 * 5) =
29.88 mg/L.
f. Compute the initial dissolved oxygen concentration as follows: DOo = Cs DOm = 9.2 8.7524
= 0.4476 mg/L.
g. Find critical time: tc = [1/(k k)]*ln[(k/k)(1 {(DOmLom)*[(k k)/k]})] = 4.468 days.
h. Determine the critical oxygen as follows: DOc = (k * Lo * ek * tc)/k; DOc = (0.1/0.4) * 29.88
* e0.1 * 4.468 = 4.39 mg/L.
i. Determine the position downstream where DOc occurs: Xc = v * tc = 3* (24 h) * 4.468 d =
321.7 km.
'*********************************************************************************
'Program 5.21: DO & BOD of River-Wastewater Mixtures
'*********************************************************************************
Imports System.Math
Public Class Form1
Dim Cs(31) As Double
Dim v, Qw, PDOw, BODw, Qr, Tr, PDOr, BODr, kd, kdd, ckd, ckdd As Double
Dim Tw As Integer
Sub loadCsTable()
Cs(0) = 14.6
Cs(1) = 14.2
Cs(2) = 13.8
Cs(3) = 13.5
Cs(4) = 13.1
Cs(5) = 12.8
Cs(6) = 12.5
Cs(7) = 12.2
Cs(8) = 11.9
Cs(9) = 11.6
Cs(10) = 11.3
Cs(11) = 11.1
Cs(12) = 10.8
Cs(13) = 10.6
Cs(14) = 10.4
Cs(15) = 10.2
Cs(16) = 10.0
Cs(17) = 9.7
Cs(18) = 9.5
Cs(19) = 9.4
Cs(20) = 9.2
Cs(21) = 9.0
Cs(22) = 8.8
Cs(23) = 8.7
Cs(24) = 8.5
Cs(25) = 8.4
Cs(26) = 8.2
Cs(27) = 8.1
Cs(28) = 7.9
Cs(29) = 7.8
Cs(30) = 7.6
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load 'data from Table A2
loadCsTable()
Me.Text = "Program 5.21: DO & BOD of River-Wastewater Mixtures"
Me.MaximizeBox = False
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Label1.Text = "Enter the daily production of wastewater, Qw (m3/s):"
Label2.Text = "Enter the temperature of wastewater, Tw (C):"
Label3.Text = "Enter the percentage of saturation dissolved oxygen in
waste, %:"
Label4.Text = "Enter the 20 C 5-day BOD of the waste, BOD205w (mg/L):"
Label5.Text = "Enter the river flow, Qr (m3/s):"
Label6.Text = "Enter the temperature of the river before the waste, Tr:"
Label7.Text = "Enter the percentage of saturation dissolved oxygen in
river, %:"
Label8.Text = "Enter the 20 C 5-day BOD of the river, BOD205r(mg/L):"
Label9.Text = "Enter the velocity of the river, v(km/h):"
Label10.Text = "Enter the first order reaction constant (at 20C), k /day:"
Label11.Text = "Enter the reaeration constant (at 20C), k /day:"
Label12.Text = "Enter the temperature correction of k:"
Label13.Text = "Enter the temperature correction for k:"
Button1.Text = "&Calculate"
TextBox14.Multiline = True
TextBox14.Height = 135
TextBox14.ScrollBars = ScrollBars.Vertical
End Sub
Sub calculateResults()
Qw = Val(TextBox1.Text)
Tw = Val(TextBox2.Text)
PDOw = Val(TextBox3.Text)
BODw = Val(TextBox4.Text)
Qr = Val(TextBox5.Text)
Tr = Val(TextBox6.Text)
PDOr = Val(TextBox7.Text)
BODr = Val(TextBox8.Text)
V = Val(TextBox9.Text)
kd = Val(TextBox10.Text)
kdd = Val(TextBox11.Text)
ckd = Val(TextBox12.Text)
ckdd = Val(TextBox13.Text)
If PDOw < 1 Then PDOw = PDOw * 100
If PDOr < 1 Then PDOr = PDOr * 100
Dim Csw, DOw, Csr, DOr, BOD5m, LOm, Csm, DOi, Kd20, Tc, Xc, Dc, DOc As
Double
Dim BOD5, BOD205c, Qm, Tm, DOm As Double
'DO concentration in wastewater at Tw
Csw = GetCs(Tw)
'DO of wastewater at Tw
DOw = PDOw / 100 * Csw
'DO concentration in river at Tr
Csr = GetCs(Tr)
'DO of river at Tr
DOr = PDOr / 100 * Csr
'Mixture flow
Qm = Qw + Qr
'mixture temp.
Tm = (Qw * Tw + Qr * Tr) / Qm
'mixture DO
DOm = (Qw * DOw + Qr * DOr) / Qm
'mixture BOD5
BOD5m = (Qw * BODw + Qr * BODr) / Qm
'mixture Lo
LOm = BOD5m / (1 - Exp(-kd * 5))
'DO concentration in mixture at Tm
Csm = GetCs(Tm)
'initial oxygen deficit in mixture
DOi = Csm - DOm
'store value of kd at 20C
Kd20 = kd
'corrected kd at temperature of mixture
kd = kd * ckd ^ (Tm - 20)
'corrected kdd at temperature of mixture
kdd = kdd * ckdd ^ (Tm - 20)
'determine critical time tc
Tc = 1 / (kdd - kd) * Log(kdd / kd * (1 - DOi / LOm * (kdd - kd) / kd))
'convert to km/d
v = v * 24
'position downstream where critical conditions exist
Xc = v * Tc
Dc = kd / kdd * LOm * Exp(-kd * Tc)
'DO at xc
DOc = Csm - Dc
'BOD5 at xc at temp. Tm
BOD5 = LOm * Exp(-kd * Tc)
'BOD5 at xc at temp. 20C
BOD205c = BOD5 * (1 - Exp(-Kd20 * 5))
Dim s As String
s = "RESULTS:" + vbCrLf
s += "temperature of the mixture = " + FormatNumber(Tm, 2) + " C" + vbCrLf
s += "Dissolved oxygen of the mixture = " + FormatNumber(DOm, 2) + " mg/L"
+ vbCrLf
s += "5-day BOD of the mixture = " + FormatNumber(BOD5m, 2) + " mg/L" +
vbCrLf
s += "Initial DO deficit in river = " + FormatNumber(DOi, 2) + " mg/L" +
vbCrLf
s += "Critical time tc for minimum DO = " + FormatNumber(Tc, 2) + " day" +
vbCrLf
s += "Position where minimum DO occurs, xc = " + FormatNumber(Xc, 2) + "
km" + vbCrLf
s += "Minimum DO in the river (critical) = " + FormatNumber(DOc, 2) + "
mg/L" + vbCrLf
s += "5-day BOD at xc at 20C = " + FormatNumber(BOD205c, 2) + " mg/L"
TextBox14.Text = s
End Sub
Function GetCs(ByVal T) As Double
If T < 0 Or T > 30 Then Return 0.0
Return Cs(T)
End Function
(5.113)
where:
C is the pollutant concentration in the lake and in effluent, kg/m3
(5.114)
where:
Qr is the river flow rate into lake, m3/s
Cr is the concentration of pollutant in river, kg/m3
Qw is the wastewater flow rate into lake, m3/s
Cw is the concentration of pollutant in wastewater, kg/m3
(5.115)
where:
t is the detention time = V/Q
k is the first-order decay constant (base e), day1
V is the lake volume
C0 is the concentration in the lake at time t = 0
The equilibrium concentration can be found by letting t equal , as presented in the following equation:
(5.116)
Example 5.22
1. Write a computer program to find the equilibrium concentration of a radioactive pollutant
discharged into a small lake with average dimensions (m) L, B, d for length, breadth, depth,
respectively, given the concentration of pollutant entering the lake Cp (mg/L), half-life of
pollutant t1/2, at a flow rate of qp (m3/s). Assume that wind currents enable complete mixing
of the lake contents.
2. Use the program developed in (1) to determine the equilibrium concentration of a
radioactive substance of a 12 h half-life, discharged at a rate of 0.05 m3/s with a
concentration of 4 mg/L to a small lake of average dimensions 60 * 25 * 2 m for length,
width, and depth, respectively.
Solution
1. For solution to Example 5.22 (1), see the listing of Program 5.22.
2. Solution to Example 5.22 (2):
a. Given: t1/2 = 12/24 = 0.5 d, Qr = 0 (no river flow out of lake), qw = 0.05 m3/s, Cw = 4, L = 60
m, B = 25 m, d = 2 m.
b. Determine W as follows: W = Qr* Cr + qw* Cw = 0 + 0.05 * 4 = 0.2 g/s = 17280 g/day.
c. Determine the detention time: t = V/Q = L * B * d/(qr + qw) = 60 * 25 * 2/0.05 * 60 * 60 * 24 =
0.694 day.
d. Find the first-order decay rate as follows: Lt = Lo* ekt, and when t = 0.5 day, L1/2 = 1/2Lo or k
= ln(1/2) = 0.693/day.
e. Determine the factor as follows: = 1/to + k = (1/0.694) + 0.693 = 2.133/day.
f. Find the equilibrium concentration as follows: Ce = W/V = 17,280/(2.133 * 60 * 25 * 2) = 2.7
mg/L.
'*********************************************************************************
'Program 5.22: Equilibrium concentration of pollutants in lakes
'*********************************************************************************
Imports System.Math
Public Class Form1
Dim Ceq As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 5.22: Equilibrium
concentration of pollutants in lakes"
Me.MaximizeBox = False
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Label1.Text = "Enter the length of the lake, L (m):"
Label2.Text = "Enter the breadth of the lake, B (m):"
Label3.Text = "Enter the depth of the lake, d (m):"
Label4.Text = "Enter the concentration of pollutants entering, Cw (mg/L):"
Label5.Text = "Enter the half-life of pollutants, tw (h):"
Label6.Text = "Enter the flow rate of pollutants, Qw (m3/s):"
Label7.Text = ""
Label8.Text = "Decimals:"
Button1.Text = "&Calculate"
NumericUpDown1.Value = 2
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
End Sub
Sub calculateResults()
Dim L, B, d, tw, Qw, Cw, Qr, Q, Cr, W, V, t, k, beta As Double
L = Val(TextBox1.Text)
B = Val(TextBox2.Text)
d = Val(TextBox3.Text)
Cw = Val(TextBox4.Text)
tw = Val(TextBox5.Text)
Qw = Val(TextBox6.Text)
'convert to days
tw = tw / 24
'convert to m3/d
Qw = Qw * 3600 * 24
'no flow out of the lake
Qr = 0
Cr = 0
W = Qr * Cr + Qw * Cw
'volume
V = L * B * d
Q = Qr + Qw
'detention time
t = V / Q
k = -Log(tw)
beta = (1 / t) + k
Ceq = W / (beta * V)
End Sub
Sub showResults()
Label7.Text = "The equilibrium concentration (mg/L): " + FormatNumber(Ceq,
NumericUpDown1.Value)
End Sub
(5.117)
where:
C is the concentration of waste discharged at time t
Co is the initial concentration in estuary
(5.118)
(5.119)
where:
E is the coefficient of eddy diffusion or turbulent mixing, m2/s
v is the velocity of flow in river (= Q/A), m/s
A is the cross-sectional area, m2
k is the first-order decay constant, day1
W is the pollutant load as determined by Equation 5.114
The positive root for J refers to the upstream (x) direction, and the negative root refers to the
downstream (+x) direction.
Example 5.23
Write a computer program that enables determination of the concentration of a pollutant at any time t
after its disposal to a neighboring estuary, given the relevant parameters.
Solution
See the listing of Program 5.23.
Listing of Program 5.23 (Chap5.23\Form1.vb): Waste Concentration in
Estuaries
'*********************************************************************************
'Program 5.23: Waste concentration in estuaries
'*********************************************************************************
Imports System.Math
Public Class Form1
Dim A, Q, k, E, W, x, C As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 5.23: Waste
concentration in estuaries"
Me.MaximizeBox = False
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Label1.Text = "Enter the cross-sectional area of the river, A (m2):"
Label2.Text = "Enter the flow rate in river, Q (m3/s):"
Label3.Text = "Enter the decay constant, k:"
Label4.Text = "Enter the coefficient of turbulent mixing, E (m2/s):"
Label5.Text = "Enter the pollutant load, W:"
REFERENCES
Abdel-Magid, I. M. 1982. The role of filter aids in sludge dewatering. PhD thesis, University of Strathclyde, Glasgow.
Abdel-Magid, I. M. 1986. Selected Problems in Wastewater Engineering. Khartoum, Sudan: National Research Council, Khartoum
University Press.
Abdel-Magid, I. M., and Abdel-Magid, M. I. M. 2015. Problem Solving in Environmental Engineering. North Charleston, SC: CreateSpace
Independent Publishing Platform, Second version, improved, updated and revised.
Abdel-Magid, I. M., Alderdiri, A. M., and Abdel-Magid, M. I. M. 2015. Wastewater (Arabic Edition), 2nd ed. North Charleston, SC:
CreateSpace Independent Publishing Platform.
American Water Works Association and American Society of Civil Engineers. 2012. Water Treatment Plant Design, 5th ed. New York:
McGraw-Hill Professional.
Barnes, D., Bliss, P. J., Gould, B. W., and Vallentine, H. R. 1981. Water and Wastewater Engineering Systems. Marshfield, MA: Pitman
Publishing.
Berger, B. B. (Ed.). 1987. Control of Organic Substances in Water and Wastewater. Park Ridge, NJ: Noyes Publishing.
Bizier, P. 2007. Gravity Sanitary Sewer Design and Construction (ASCE Manuals and Reports on Engineering Practice No. 60), 2nd ed.
American Society of Civil Engineers.
Carman, P. C. 1938. Fundamental principles of industrial filtration. Trans. Inst. Chem. Eng. 16:168188.
Coackley, P. 1953. The dewatering treatment. PhD thesis, London University.
Coackley, P. 1955. Research on sewage sludge carried out in the Civil Engineering Department of the University College London. J. Proc.
Instit. Sewage Purification 1:5972.
Coackley, P. 1965. The theory and practice of sludge dewatering. J. Instit. Public Health Eng. 64(1):34.
Coackley, P. 1967. Sludge dewatering treatment. Proc. Biochem. 2(3):17.
Coackley, P. 1975. Development in Our Knowledge of Sludge Dewatering Behavior. 8th Public Health Engineering Conference held in the
Dept. of Civil Engineering, Loughborough University of Technology, 5.
Coackley, P., and Allos, R. 1962. The drying characteristics of some sewage sludges. J. Proc. Inst. Sewage Purification 6:557.
Davis, M. L., and Cornwell, D. A. 2006. Introduction to Environmental Engineering, 4th ed. New York: McGraw-Hill
Science/Engineering/Math.
Fair, G. M., Geyer, J. C., and Okun, D. A. 1966. Water and Wastewater Engineering, Vols I and II. New York: John Wiley & Sons.
Fair, G. M., Morris, F. C., Chang, S. L., Weil, I., and Burden, R. A. 1948. The behavior of chlorine as a water disinfectant. J. Am. Water
Works Assoc. 40:1051.
Ganczarczyk, J. J. 1983. Activated Sludge Process: Theory and Practices. Pollution Engineering and Technology Series No. 23. New York:
Marcel Dekker.
Gunnerson, C. G., and Stuckey, D. C. 1986. Integrated Resources Recovery: Anaerobic Digestion Principles and Practice for Biogas
Systems. Technical Paper Number 49. Washington, DC: World Bank.
Hammer, M. J. Sr., and Hammer, M. J. Jr. 2011. Water and Wastewater Technology, 7th ed. Upper Saddle River, NJ: Prentice Hall.
Health Education Services. 1990. Recommended Standards for Wastewater Facilities: Policies for the Design, Review, and Approval of
Plans and Specifications for Wastewater Collection and Treatment Facilities. Report of the Wastewater Committee of the Great
Lakes-Upper Mississippi River Board of State Public Health and Environmental Managers, Albany.
Hicks, T. 2014. Standard Handbook of Engineering Calculations, 5th ed. New York: McGraw-Hill Education.
Howe, K. J., Hand, D. W., Crittenden, J. C., and Trussell, R. R. 2012. Principles of Water Treatment, 1st ed. Hoboken, NJ: John Wiley &
Sons.
James, A. 1984. An Introduction to Water Quality Modeling. New York: John Wiley & Sons.
Jerry, A., and Nathanson, P.E. 2007. Basic Environmental Technology: Water Supply, Waste Management & Pollution Control, 5th ed.
Upper Saddle River, NJ: Prentice Hall.
Jonathan Ricketts, J., Loftin, M., and Frederick, M. 2003. Standard Handbook for Civil Engineers, 5th ed. New York: McGraw-Hill
Professional.
Lin, S., and Lee, C. 2007. Water and Wastewater Calculations Manual, 2nd ed. New York: McGraw-Hill Professional.
Mara, D. 1980. Sewage Treatment in Hot Climates. New York: John Wiley & Sons.
Masters, G. M., and Ela, W. P. 2007. Introduction to Environmental Engineering and Science, 3rd ed. Upper Saddle River, NJ: Prentice
Hall.
Mays, L. W. 2010. Water Resources Engineering, 2nd ed. Hoboken, NJ: John Wiley & Sons.
McGhee, T. J., and Steel, E. W. 1991. Water Supply and Sewerage, 5th ed. New York: McGraw-Hill College.
Metcalf and Eddy, Inc., Tchobanoglous, G., Stensel, H. D., Tsuchihashi R., and Burton, F. 2013. Wastewater Engineering: Treatment and
Resource Recovery, 5th ed. New York: McGraw-Hill Science/Engineering/Math.
Mullick, M. A. 1987. Wastewater Treatment Processes in the Middle East. Sussex: The Book Guild.
Nathanson, J. A. 2007. Basic Environmental Technology: Water Supply, Waste Management & Pollution Control, 5th ed. Upper Saddle
River, NJ: Prentice Hall.
Negulescu, M. 1986. Municipal Wastewater Treatment. Developments in Water Science Series No. 23. Amsterdam, the Netherlands:
Elsevier.
Nemerow, N. L., Agardy, F. J., and Salvato, J. A. 2009. Environmental Engineering, 6th ed. Hoboken, NJ: John Wiley & Sons.
Newitt, D. M., Oliver, T. R., and Pearse, J. F. 1949. The mechanism of the drying of solids. Trans. Inst. Chem. Eng. 27:1.
OConnor, D., and Dobbins, W. 1956. The mechanism of re-aeration in natural streams. J. Sanitary Eng. SA6.
Peavy, H. S., Rowe, D. R., and Tchobanoglous, G. 1988. Environmental Engineering. New York: McGraw-Hill.
Peirce, J. J., Vesilind, P. A., and Weiner, R. 1997. Environmental Pollution and Control, 4th ed. Oxford: Butterworth-Heinemann.
Rowe, D. R., and Abdel-Magid, I. M. 1995. Handbook of Wastewater Reclamation and Reuse. Boca Raton, FL: CRC Press/Lewis
Publishers.
Sanin, F. D., Clarkson, W. W. and Vesilind P. A. 2010. Sludge Engineering: The Treatment and Disposal of Wastewater Sludges.
Lancaster, PA: DEStech Publications.
Smith, P. G., and Scott, J. S. 2002. Dictionary of water and waste management. 2nd ed. London, UK: International Water Association
(IWA) Publishing.
U.S. Agency for International Development. 1982. Water for the World, Technical notes produced under contract to the U.S. Agency for
International Development by National Demonstration Water Project, Institute for Rural Water and National Environmental Health
Association. (a) Designing Septic Tanks, Technical Notes No. SAN2.D.3. (b) Operating and Maintaining Septic Tanks, Technical Note No.
SAN.2.0.3.
U.S. Environmental Protection Agency. 2012. Design Manual: Dewatering Municipal Wastewater Sludges. BiblioGov.
Viessman, W., and Lewis, G. L. 2002. Introduction to Hydrology, 5th ed. Upper Saddle River, NJ: Prentice Hall.
Viessman, W. Jr., Hammer, M. J., Perez, E. M., and Chadik, P. A. 2008. Water Supply and Pollution Control, 8th ed. Upper Saddle River,
NJ: Prentice Hall.
Vernick, A. S., and Walker, F. C. 1981. Handbook of Wastewater Treatment Processes. Pollution Engineering and Technology Series No. 19.
New York: Marcel Dekker.
Wang, L. K., and Hung, Y. 2005. Waste Treatment in the Process Industries. Boca Raton, FL: CRC Press.
6 Computer Modeling Applications for Municipal Solid Waste Classification,
Quantities, Properties, Collection, Processing, Material Separation, and Cost
Estimates
6.1 INTRODUCTION
Municipal solid waste (MSW) could be defined as a heterogeneous collection of residential throwaways
from a certain community, as well as the more homogeneous accumulations of commercial, agricultural,
industrial, and mineral wastes. Otherwise it may be defined as materials that do not represent major
outputs of market product and serve no productive or consumptive purpose to its producer, which justifies
its disposal. Generally, a solid waste represents those things that are unwanted, useless, of no added
value, and not needed by someone (Abdel-Magid and Abdel-Magid 2015a; Worrell and Vesilind 2012).
The sources of solid waste, garbage, and sweeping vary, and they include agricultural, building and
construction, commercial and offices, demolition, domestic from homes, educational institutional
hospitals, housing, industrial, mining, open markets, restaurants, shops, and so on. Table 6.1 gives
examples of the main sources and types of production units of solid waste and garbage. Variation in solid
waste generation depends on many intervening factors such as location, season, climate and
meteorological parameters, socioeconomic conditions and behavior, population and demographical
aspects, and market for waste materials.
Equation 6.1 illustrates a rough estimate for the amount of MSW or refuse generated from a certain
community:
(6.1)
or
(6.2)
(6.3)
Example 6.1
1. Given annually generated fractions of a MSW from a certain community, write a short
computer program that calculates the percentage of diversion of the solid waste produced.
2. A certain community generates annually the quantities of MSW presented in the following
table:
1. For the solution of Example 6.1 (1), see the listing of Program 6.1.
2. Given: MSW annual quantities in tons.
TABLE 6.1
Sources and Types of Production Units of Solid Waste
Type of Solid Waste Production Units Source of
Waste
Spoiled food wastes, agricultural waste, Field, raw crops, and different farm types from planting farms, harvesting of Agricultural
rubbish, hazardous materials fields, livestock farms producing dairy, butter and cheese, meat, slaughterhouses,
fruit orchards vineyards squares, laboratories, experimental fields, feedlots, and
so on.
Food waste, rubbish, ashes, demolition and Many of the items as generated by household waste that may arise from design Commercial
construction waste, special waste, health facilities, hotels, maintenance workshops and warehouses, markets, offices
hazardous waste and office buildings, stores, shops, printing institutions, rest houses, restaurants,
hotels and motels, auto repair shops, medical facilities, and so on
Pathological and infectious, remains of Radioactive materials, chemical, biomaterial, hospitals and medical waste, Hazardous
experimental animals, corpses, remnants of household hazardous waste, and so on waste
drugs, poisons and chemicals, and
containers, and so on
Food waste, rubbish, ashes, demolition and Refuse from construction, demolition and ruins of buildings, light and heavy Industrial
construction wastes, special waste, manufacturing fabrications, oil refineries, chemical plants, power plants, sources
hazardous waste, bricks, concrete, dust, of metals production and processing, mining, logging, and so on
stones, mortar, outputs of refrigeration and
air conditioning, plumbing, electricity,
water, phone and networks connections,
and so on
Paper, cardboard, plastics, wood, food Schools, hospitals, prisons, government centers and departments Institutional
wastes, glass, metals, special wastes,
hazardous wastes.
Damaged computers, peripherals and Industrial domains, hardware units of information revolution, technology updates Other waste
software, CD plastic, DVDs, and so on products
Food waste, rubbish, garbage, ashes, special Single and multifamily dwellings, houses, low medium, and high-rise apartments, Residential
waste villas, and so on having mixed household and residential waste, garbage, food or
waste, and recyclables (such as newspapers, aluminum cans, steel cans, milk domestic
cartons, plastic soft drink bottles, corrugated cardboard, and other material MSW
collected by the community) from
residential
homes,
community
Special waste, rubbish Sweeping (thrown on the side of road from users), damaged cars placed on both Square and
sides of road, cleanliness of streets, alleys, parks, playgrounds, beaches, bathing open areas
and recreational areas, squares, highways, gardens litter, and waste from Street
community trash cans produced by individuals, municipal containers, debris and refuse
rubble, dead animals (small animalssuch as pets like cats, dogs, rabbits, and
turtlesand big animalssuch as horses, sheep, donkeys, and cattle
Treatment plant wastes, principally Water and wastewater treatment processes, solid waste treatment, purification Treatment
composed of residuals, sludge, and so on plants, industrial wastewater treatment processes, and air pollution and control plant sites
plants
Bulky refuse items, large household Bicycles, furniture, old and used cars, damaged vehicles, refrigerators and gas and White waste
applications such as refrigerators, stoves, electric stoves, rugs, and so on
air conditioners, washing machines, and so
on
Tree branches, leaves, seeds and so on Originating with individual households and animal waste Yard (or
green)
waste
Source: From Blackman, W. C. 2001. Basic Hazardous Waste Management, 3rd ed. CRC Press; de Bertoldi, M., (Ed.). 1996.
Science of Composting. Springer; CEHA. 1995. Solid waste management in some countries of the Eastern Mediterranean
region. CEHA Document No., Special studies, ss-4. Amman, Jordan: WHO, Eastern Mediterranean Regional Office, Regional
Centre for Environmental Health Activities; Ojovan, M. I., (Ed.). 2011. Handbook of Advanced Radioactive Waste
Conditioning Technologies. Cambridge: Woodhead Publishing; Walsh, P. and OLeary, P. 1986. Implementing Municipal
Solid Waste to Energy Systems. University of WisconsinExtension for Great Lakes Regional Biogas Energy Program;
Worrell, W. A. and Vesilind, P. A. 2012. Solid Waste Engineering. CL-Engineering Pub.
'*********************************************************************************
'Example 6.1: Calculates percentage of diversion of solid waste.
'*********************************************************************************
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Example 6.1: Calculates
percentage of diversion of solid waste."
Me.FormBorderStyle = BorderStyle.FixedSingle
Me.MaximizeBox = False
RadioButton1.Text = "Calculate MSW (municipal solid waste):"
RadioButton2.Text = "Calculate as fraction of refuse (mixed household and
commercial waste):"
RadioButton1.Checked = True
Label1.Text = "Recyclables (ton per year):"
Label2.Text = "Construction and demolition debris (ton per year):"
Label3.Text = "Leaves and miscellaneous (ton per year):"
Label4.Text = "Mixed house waste (ton per year):"
Label5.Text = "Commercial waste (ton per year):"
Label6.Text = "Recyclables (ton per year):"
Label8.Text = "Mixed house waste (ton per year):"
Label9.Text = "Commercial waste (ton per year):"
Label7.Text = "The formula is:" + vbCrLf
Label7.Text += "MSW, municipal solid waste = (refuse) + construction and
demolition waste "
Label7.Text += vbCrLf + " + leaves + bulky items"
Label10.Text = ""
Button1.Text = "&Calculate"
End Sub
a. If the calculation is on basis of MSW, the total waste generated is (200 + 40 + 60 + 120 + 50)
= 470 tons per year. If everything not going to the landfill is counted as having been diverted,
the diversion is calculated as
b. If the diversion is calculated as that fraction of the refuse (mixed household and commercial
waste) that has been kept out of the landfill by the recycling program, the diversion is
Properties and characteristics of MSW have a significant impact and govern the design of solid waste
collection systems, treatment and disposal plants, operation and maintenance schedules, and management
and performance of units and facilities. Notable MSW properties constitute physical, chemical, and
biological aspects. Physical and material properties of solid waste affect the design of storage equipment
and waste collection, separation, transfer, transpiration, and treatment. Physical properties may include
grain size and distribution, material components, use of solid waste material fractions, degree of purity,
contents of solid waste, moisture content, grain size calorific value, weight, density, and mechanical
properties. Chemical properties may include chemical composition and content, chemical properties and
characteristics, toxicity, and so on. Biological properties may refer to biodegradability, degree of
decomposition, nutrients content, and so on.
Properties of MSW of significance and interest include the following:
1. Physical properties:
b. Composition by identifiable items (steel cans, office paper, etc.) Weight
a.
c. Density
d. Moisture content
e. Particle size and grain size distribution
f. Heat and calorific values
g. Angle of stability
h. Mechanical properties to evaluate alternative processes and options for energy recovery by
2. focusing on pressure stress, stressstrain curve for some materials, and modulus of elasticity
Chemical properties:
b. Chemical composition: carbon, hydrogen, and concentration of metals Proximate analysis
a.
c. Fusing point of ash
d. Ultimate analysis (major elements)
e. Compositional analysis
f. Calorimetry
g. Energy content
h. Volatile solids lost upon ignition
i. pH value
j. Toxic elements
k. Nutrients (carbon, nitrogen, and phosphorus)
(6.4)
where:
M is the moisture content (on a wet basis), %
Ww is the initial (wet) weight of sample
Wd is the final (dry) weight of the sample
Moisture content may be evaluated on a dry weight basis as shown in the following equation:
(6.5)
where:
Md is the moisture content (on a dry basis), %
Table 6.2 gives the moisture content of uncompacted refuse components TABLE 6.2
Moisture Content of Uncompacted Refuse Components
Component Moisture Content
Range Typical
Residential
Aluminum cans 24 3
Cardboard 48 5
Ferrous metals 26 3
Fines (dirt, etc.) 612 8
Food waste 5080 70
Garden trimmings 3080 60
Glass 14 2
Grass 4080 60
Leather 812 10
Leaves 2040 30
Nonferrous metal 24 2
Paper 410 6
Plastics 14 2
Rubber 14 2
Steel cans 24 3
Textiles 615 10
Wood 1540 20
Yard waste 3080 60
Commercial
Source: From de Bertoldi, M., (Ed.). 1996. Science of Composting. Springer; CEHA. 1995. Solid waste management in some countries of
the Eastern Mediterranean region. CEHA Document No., Special studies, ss-4. Amman, Jordan: WHO, Eastern Mediterranean
Regional Office, Regional Centre for Environmental Health Activities; Ojovan, M. I., (Ed.). 2011. Handbook of Advanced
Radioactive Waste Conditioning Technologies. Cambridge: Woodhead Publishing; Walsh, P. and OLeary, P. 1986. Implementing
Municipal Solid Waste to Energy Systems. University of WisconsinExtension for Great Lakes Regional Biogas Energy
Program; Worrell, W. A. and Vesilind, P. A. 2012. Solid Waste Engineering. CL-Engineering Pub.
Example 6.2
1. Write a short computer program that enables calculating moisture concentration of a certain
solid waste using the typical values.
2. A residential waste has the components presented in the table. Estimate its moisture
concentration using the typical values.
Food 30%
Garden trimmings 10%
Leather 10%
Paper 40%
Steel cans 10%
3. Use the program developed in (1) to verify the manual computations conducted in (2).
Solution
Assume a wet sample weighing 100 lb. Set up the tabulation:
Component % Moisture from Table Dry Weight (based on 100 lb.)
Food 30 70 9
Garden trimmings 10 60 4
Leather 10 10 9
Paper 40 6 37.5
Steel cans 10 3 9.7
Total 100 69.2
The moisture content (on a wet basis) would then be (100 69.2)/100 = 31%.
moist(4) = 70
moist(5) = 2
moist(6) = 60
moist(7) = 10
moist(8) = 2
moist(9) = 30
moist(10) = 6
moist(11) = 2
moist(12) = 3
moist(13) = 2
moist(14) = 3
moist(15) = 10
moist(16) = 20
moist(17) = 60
moist(18) = 60
moist(19) = 0
moist(20) = 70
moist(21) = 25
moist(22) = 15
moist(23) = 30
moist(24) = 8
moist(25) = 8
moist(26) = 0
'ADD THE ITEMS INTO THE COMBOBOXES
ComboBox1.Items.Clear()
ComboBox2.Items.Clear()
ComboBox3.Items.Clear()
ComboBox4.Items.Clear()
ComboBox5.Items.Clear()
ComboBox6.Items.Clear()
ComboBox1.Items.AddRange(comp)
ComboBox2.Items.AddRange(comp)
ComboBox3.Items.AddRange(comp)
ComboBox4.Items.AddRange(comp)
ComboBox5.Items.AddRange(comp)
ComboBox6.Items.AddRange(comp)
'DISABLE THE TEXTBOXES
TextBox2.Enabled = False
TextBox3.Enabled = False
TextBox4.Enabled = False
TextBox5.Enabled = False
TextBox7.Enabled = False
TextBox8.Enabled = False
TextBox10.Enabled = False
TextBox11.Enabled = False
TextBox13.Enabled = False
TextBox14.Enabled = False
TextBox16.Enabled = False
TextBox17.Enabled = False
End Sub
Sub calculateResults()
Dim i, M, Ww, Wd As Double
Dim totalWW, totalWd As Double
totalWd = 0
totalWW = 0
'Calculate the dry weights of the components
i = ComboBox1.SelectedIndex
If i <> 0 And i <> 19 And i <> 27 Then
Ww = Val(TextBox1.Text)
M = Val(TextBox2.Text)
Wd = Ww - (M * Ww / 100)
TextBox3.Text = Wd.ToString
totalWd += Wd : totalWW += Ww
End If
i = ComboBox2.SelectedIndex
If i <> 0 And i <> 19 And i <> 27 Then
Ww = Val(TextBox6.Text)
M = Val(TextBox5.Text)
Wd = Ww - (M * Ww / 100)
TextBox4.Text = Wd.ToString
totalWd += Wd : totalWW += Ww
End If
i = ComboBox3.SelectedIndex
If i <> 0 And i <> 19 And i <> 27 Then
Ww = Val(TextBox9.Text)
M = Val(TextBox8.Text)
Wd = Ww - (M * Ww / 100)
TextBox7.Text = Wd.ToString
totalWd += Wd : totalWW += Ww
End If
i = ComboBox4.SelectedIndex
If i <> 0 And i <> 19 And i <> 27 Then
Ww = Val(TextBox12.Text)
M = Val(TextBox11.Text)
Wd = Ww - (M * Ww / 100)
TextBox10.Text = Wd.ToString
totalWd += Wd : totalWW += Ww
End If
i = ComboBox5.SelectedIndex
If i <> 0 And i <> 19 And i <> 27 Then
Ww = Val(TextBox15.Text)
M = Val(TextBox14.Text)
Wd = Ww - (M * Ww / 100)
TextBox13.Text = Wd.ToString
totalWd += Wd : totalWW += Ww
End If
i = ComboBox6.SelectedIndex
If i <> 0 And i <> 19 And i <> 27 Then
Ww = Val(TextBox18.Text)
M = Val(TextBox17.Text)
Wd = Ww - (M * Ww / 100)
TextBox16.Text = Wd.ToString
totalWd += Wd : totalWW += Ww
End If
moistC = ((totalWW - totalWd) / totalWW) * 100
End Sub
Sub showResults()
Label5.Text = "The moisture content (wet basis) = " + FormatNumber(moistC,
NumericUpDown1.Value) + "%"
End Sub
TextBox2.Text = moist(ComboBox1.SelectedIndex).ToString
End If
End Sub
'These are items not to be selected by the user, so clear the textbox
and exit sub TextBox17.Text = ""
Else
TextBox17.Text = moist(ComboBox6.SelectedIndex).ToString
End If
End Sub
(6.6)
where:
UC is the uniformity coefficient
D60 is the particle (sieve) size where 60% of the particles are smaller than that size D10 is the particle
(sieve) size where 10% of the particles are smaller than that size Correlation between the quantity of a
particulate material and its particle size may be determined via GatesGaudinSchuhmann function as
shown in Equation 6.7. A distribution following this equation gives a straight line in a logarithmic plot
(Masato Nakamura, Castaldi and Themelis 2005):
(6.7)
where:
D is the cumulative passing weight, %
d is the particle size
do is the maximum particle size
k is the dimensionless exponent
(6.8)
where:
D is the cumulative passing weight fraction
d is the particle size
d and n are the characteristics of the material studied and must be determined by analyzing the data
obtained. This can conveniently be done by data regression after appropriate manipulation or using
especially constructed charts, from which the two parameters could be read off after plotting size data
obtained by sieving or other means (Masato Nakamura, Castaldi and Themelis 2005).
(6.9)
where:
K is the coefficient of permeability
Cd is the constant or shape factor, dimensionless
is the specific weight of water
is the dynamic viscosity of water
k is the intrinsic permeability (or specific permeability) = Cd2 (Typical values for the intrinsic
permeability for compacted solid waste in a landfill are in the range between ~1011 and 1012 m2 in the
vertical direction and ~1010 m2 in the horizontal direction).
(6.10)
where:
c = A+B is the bulk density of the mixture of material (A) and material (B) A is the bulk density of
material (A)
B is the bulk density of material (B)
VA is the volume of material (A)
VB is the volume of material (B)
Bulk density of the mixture of materials can also be estimated by the mass of materials from the
following equation:
(6.11)
where M is the mass of the material (pounds or tons in the American Standard System or kilograms or
tons in the SI system).*
(6.12)
where:
F is the volume of reduction (remaining ratios of original size as a result of compaction) V0 is the
original size (initial)
Vc is the volume after compaction
Relationship of reduction volume to apparent density can be found from the following equation:
(6.13)
where:
o is the original apparent density
c is the apparent density after compaction
Example 6.3
1. Write a short computer program that enables estimating the percent age of volume reduction
achieved during compaction of the waste.
2. Assume that a certain solid waste has the components and bulk densities depicted in the
following table:
Table of Solid Waste Components and Bulk Densities
Component Percentage (by Weight) Apparent Density before Compaction (g/cm3 )
Aluminum 10 0.04
Glass 5 0.30
Various papers 15 0.06
Food waste 70 0.4
a. For a compaction of landfill of 700 kg/m3, find the percentage of volume reduction achieved
upon compacting this solid waste.
b. Determine the total apparent density before compaction by removing various paper components.
Estimate the percentage of volume reduction achieved.
c. Comment on your results.
3. Use the program developed in (1) to verify the manual computations conducted in (2).
Hint: Use the following equations for estimating bulk density and percentage of volume reduction of
a mixture of solid waste, respectively.
Solution
b. So the required landfill volume is ~31% of the volume required without compaction. If the
mixed paper is removed, the uncompacted density would be as follows:
'*********************************************************************************
'Program 6.3: Estimates percent volume reduction achieved
'during compaction of the waste
'*********************************************************************************
Public Class Form1
Dim comp() As String
Dim perc(), dens() As Double
Dim rho, rhoc, F As Double
Sub calculateResults()
If DataGridView1.RowCount <= 1 Then
MsgBox("Enter at least one component!", vbOKOnly, "Error")
Exit Sub
End If
Dim count As Integer = DataGridView1.RowCount - 1
Dim nom, denom As Double
ReDim comp(count), perc(count), dens(count)
For i = 0 To count - 1
comp(i) = DataGridView1.Rows(i).Cells("CCol").Value
perc(i) = Val(DataGridView1.Rows(i).Cells("PCol").Value)
dens(i) = Val(DataGridView1.Rows(i).Cells("DCol").Value)
Next
nom = 0
denom = 0
For i = 0 To count - 1
nom += perc(i)
denom += perc(i) / dens(i)
Next
rho = nom / denom
rhoc = Val(TextBox1.Text) / 1000
F = rho / rhoc
End Sub
Sub showResults()
Dim decimals = NumericUpDown1.Value
If decimals < 0 Or decimals > 10 Then decimals = 2
Label4.Text = "The overall bulk density prior to compaction:"
Label4.Text += FormatNumber(rho, decimals) + (" gm/cm3")
Label4.Text += vbCrLf + "The volume reduction achieved during compaction:
"
Label4.Text += FormatNumber(F, decimals)
End Sub
(6.14)
(6.15)
where:
VO is the volatile organics
D is the disintegrating organic material
ND is the nondecomposable material
(6.16)
where:
C is carbon, %
H is hydrogen, %
O is oxygen, %
S is sulfur, %
The DuLong formula is cumbersome to use in practice, and it does not give acceptable estimates of heat
value for materials other than coal. Total energy content may be determined using the modified DuLong
formula as presented in the following equation:
(6.17)
where:
Btu/lb is the total energy
C is carbon, % by weight
H2 is hydrogen, % by weight
O2 is oxygen, % by weight
S is sulfur, % by weight
N is nitrogen, % by weight
Table 6.3 is an illustration of ideal data for final analysis of components of a combustible MSW.
TABLE 6.3
Ideal Data for Final Analysis of Components of a Combustible MSW
Component Percentages by Mass (on Dry Bases)
Carbon Hydrogen Oxygen Nitrogen Sulfur Ash
Food waste 0.048 6.4 37.6 2.6 0.4 0.05
Paper 43.5 0.06 0.044 0.3 0.2 0.06
Cardboard 0.044 5.9 44.6 0.3 0.2 0.05
Plastics 0.060 7.2 22.8 10.0
Textiles 0.055 6.6 31.2 4.6 0.15 2.5
Rubber 0.078 10.0 0.02 0.010
Leather 0.060 8.0 11.6 0.010 0.4 10.0
Garden trimmings 47.8 6.0 0.038 3.4 0.3 4.5
Timber 49.5 0.06 42.7 0.2 0.1 1.5
Mixture of organic materials 48.5 6.5 37.5 2.2 0.3 0.05
Dirt, ash, bricks, and so on 26.3 0.03 0.02 0.5 0.2 68.0
Source: From Blackman, W. C. 2001. Basic Hazardous Waste Management, 3rd ed. CRC Press; de Bertoldi, M., (Ed.). 1996. Science of
Composting. Springer; CEHA. 1995. Solid waste management in some countries of the Eastern Mediterranean region. CEHA
Document No., Special studies, ss-4. Amman, Jordan: WHO, Eastern Mediterranean Regional Office, Regional Centre for
Environmental Health Activities; Ojovan, M. I., (Ed.). 2011. Handbook of Advanced Radioactive Waste Conditioning
Technologies. Cambridge: Woodhead Publishing; Walsh, P. and OLeary, P. 1986. Implementing Municipal Solid Waste to Energy
Systems. University of WisconsinExtension for Great Lakes Regional Biogas Energy Program; Worrell, W. A. and Vesilind, P. A.
2012. Solid Waste Engineering. CL-Engineering Pub.
Another equation for estimating the heat value of refuse using ultimate analysis is illustrated in the
following equation:
(6.18)
where C, H, O, S, and N are the weight percentages (on a dry basis) of carbon, hydrogen, oxygen,
sulfur, and nitrogen, respectively, in the combustible fraction of the fuel. The sum of all of these
percentages has to add to 100%.
Formulas based on compositional analyses are an improvement over formulas based on ultimate
analyses. One such formula is indicated in the following equation:
(6.19)
where:
R is the plastics, % by weight of total MSW, on a dry basis
G is the food waste, % by weight of total MSW, on a dry basis
P is the paper, % by weight of total MSW, on a dry basis
W is the water, % by weight, on a dry basis
Using regression analysis and comparing the results to actual measurements of heat value, an improved
form of a compositional model is suggested by the following equation:
(6.20)
where:
R is the plastics, % by weight, on a dry basis
P is the paper, % by weight, on a dry basis
G is the food waste, % by weight, on a dry basis
W is the water, % by weight, on a dry basis.
Example 6.4
1. Write a short computer program that enables calculating the approximate chemical formula
of the organic component of a sample composition of a solid waste using chemical
composition obtained to estimate the energy content of this solid waste.
2. Find the approximate chemical formula of the organic component of the sample composition
of a solid waste as set out in the following table. Use chemical composition obtained to
estimate the energy content of this solid waste.
Component Percentage by Mass
Garden trimmings 10
Food waste 25
Timber 5
Paper 33
Cardboard 15
Rubber 7
Tin cans 5
Total sum 100
Determine the total organic composition of the solid waste assuming a mass of 100 kg of the sample
as shown in the following table:
Component Mass (kg)
Carbon 34
Hydrogen 5
Oxygen 26
Nitrogen 0.6
Sulfur 0.1
Ash 4
3. Use the program developed in (1) to verify the manual computations conducted in (2).
Solution
1. For the computer program that enables calculating the approximate chemical formula of
Example 6.4 (1), see the listing of Program 6.4: chemical composition and energy content of
solid waste.
2. Determine the dry mass to solid waste sample assuming a mass of 100 kg of solid waste as
shown in the following table (column 4):
Composition (1) Percentage by Mass (2) Moisture Content (%) (from Table) (3) Dry Mass (kg) (4)
Garden trimmings 10 60 4
Food waste 25 75 7.5
Wood 5 20 4
Paper 33 6 31.02
Cardboard 14.25 5 15
Rubber 7 2 6.86
Tin cans 5 3 4.85
Total 100
5. Find the energy value for waste from DuLong formula and the following table:
Element Mass (kg) Atomic Weight Number of Moles Chemical Formula with Sulfur Chemical Formula without Sulfur
Carbon 33.73 12 2.8 906. 7 66.1
Hydrogen 7.46 1 8.04 2357.2 187.6
Oxygen 50.05 16 3.15 1006.6 73.4
Nitrogen 0.61 14 0.043 13.7 1
Sulfur 0.13 32 0.003 1 0.072917
**********************************************************************************
'Program 6.4: Calculates chemical composition and estimates
'energy content of solid waste.
'*********************************************************************************
Public Class Form1
Dim comp(27) As String
Dim moist(27) As Integer
Dim PERC(10, 5) As Double
ComboBox5.Items.AddRange(comp)
ComboBox6.Items.AddRange(comp)
ComboBox7.Items.AddRange(comp)
DISABLE THE TEXTBOXES
TextBox2.Enabled = False
TextBox3.Enabled = False
TextBox4.Enabled = False
TextBox5.Enabled = False
TextBox7.Enabled = False
TextBox8.Enabled = False
TextBox10.Enabled = False
TextBox11.Enabled = False
TextBox13.Enabled = False
TextBox14.Enabled = False
TextBox16.Enabled = False
TextBox17.Enabled = False
TextBox19.Enabled = False
TextBox20.Enabled = False
PREPARE THE RADIOBUTTONS AND THE LAST COMBOBOX
RadioButton1.Text = "Select values from Table 6.3:"
RadioButton2.Text = "Enter new values:"
RadioButton2.Checked = True
ComboBox8.Items.Clear()
ComboBox8.Items.Add("--Select waste--")
ComboBox8.Items.Add("Food waste")
ComboBox8.Items.Add("Paper")
ComboBox8.Items.Add("Cardboard")
ComboBox8.Items.Add("Plastics")
ComboBox8.Items.Add("Textile")
ComboBox8.Items.Add("Rubber")
ComboBox8.Items.Add("Leather")
ComboBox8.Items.Add("Garden trimmings")
ComboBox8.Items.Add("Timber")
ComboBox8.Items.Add("Mixture of organic materials")
ComboBox8.Items.Add("Dirt, ash, bricks etc.")
DATA FROM TABLE 6.3
PERCENTAGES OF Carbon, Hydrogen, Oxygen, Nitrogen, Sulfur, Ash
Dim percStr As String
percStr = "48,6.4,37.6,2.6,0.4,5.0,"
percStr += "43.5,6,44,0.3,0.2,6,"
percStr += "44,5.9,44.6,0.3,0.2,5,"
percStr += "60,7.2,22.8,0,0,10,"
percStr += "55,6.6,31.2,4.6,0.15,2.5,"
percStr += "78,10,0,2,0,10,"
percStr += "60,8,11.6,10,0.4,10,"
percStr += "47.8,6,38,3.4,0.3,4.5,"
percStr += "49.5,6,42.7,0.2,0.1,1.5,"
percStr += "48.5,6.5,37.5,2.2,0.3,5,"
percStr += "26.3,3,2,0.5,0.2,68,"
Dim last As Integer = 0
For i = 0 To 10
For j = 0 To 5
PERC(i, j) = Val(percStr.Substring(last, percStr.IndexOf(",", last) -
last)) last = percStr.IndexOf(",", last) + 1
Next
Next
End Sub
Sub calculateResults()
Dim i, M, Ww, Wd As Double
Dim totalWW, totalWd, moistC As Double
TextBox13.Text = Wd.ToString
totalWd += Wd : totalWW += Ww
End If
i = ComboBox6.SelectedIndex
If i <> 0 And i <> 19 And i <> 27 Then
Ww = Val(TextBox18.Text)
M = Val(TextBox17.Text)
Wd = Ww - (M * Ww / 100)
If i = 1 Then if selection is Tin Cans, save it to be subtracted
later cansWd = Wd
cansWw = Ww
End If
TextBox16.Text = Wd.ToString
totalWd += Wd : totalWW += Ww
End If
i = ComboBox7.SelectedIndex
If i <> 0 And i <> 19 And i <> 27 Then
Ww = Val(TextBox21.Text)
M = Val(TextBox20.Text)
Wd = Ww - (M * Ww / 100)
If i = 1 Then if selection is Tin Cans, save it to be subtracted
later cansWd = Wd
cansWw = Ww
End If
TextBox19.Text = Wd.ToString
totalWd += Wd : totalWW += Ww
End If
totalWd -= cansWd
totalWW -= cansWw
moistC = totalWW - totalWd
FORM TABLE (B) AS IN THE EXAMPLE
Dim total, Carbon, Hydrogen, Oxygen, Nitrogen, Sulfur, Ash As Double
Carbon = Val(TextBox22.Text)
Hydrogen = Val(TextBox23.Text)
Oxygen = Val(TextBox24.Text)
Nitrogen = Val(TextBox25.Text)
Sulfur = Val(TextBox26.Text)
Ash = Val(TextBox27.Text)
Change moisture content (H2O) in previous step to hydrogen and oxygen
Hydrogen += (2 / 18) * moistC
Oxygen += (16 / 18) * moistC
total = Carbon + Hydrogen + Oxygen + Nitrogen + Sulfur + Ash
Calculate the percentages for the gases
Carbon /= total
Hydrogen /= total
Oxygen /= total
Nitrogen /= total
Sulfur /= total
Ash /= total
Find energy value for waste from Dulong formula
Dim Dulong As Double
Dulong = (337 * Carbon) + (1428 * (Hydrogen - (Oxygen / 8))) + (9 *
Sulfur) Calculate moles for each gas
Dim molC, molH, molO, molN, molS As Double
molC = Carbon / 12 Moles = Mass/Atomic weight
molH = Hydrogen / 1 Moles = Mass/Atomic weight
molO = Oxygen / 16 Moles = Mass/Atomic weight
molN = Nitrogen / 14 Moles = Mass/Atomic weight
molS = Sulfur / 32 Moles = Mass/Atomic weight
Approximate chemical formula with sulfur
sulfur will be 1 mole = 0.004 * 250.. so multiply all moles by 250
Example 6.5
1. Write a short computer program that enables calculating the percentage of heat value to be
generated from a municipal refuse, given its fractions.
2. Based on the given typical heat values, estimate the heat value of a processed refuse-derived
fuel (RDF) with the composition set along the following table: Table of Fractions by Weight
of MSW Components
Component Fraction by Weight, Dry Basis
Paper 0.5
Plastics 0.3
Glass 0.1
Wood 0.1
Solution
1. For the solution of Example 6.5 (1), see the listing of Program 6.5. Given: Refuse
composition.
2. Form the following table:
Component Fraction by Weight, Dry Basis Heat Value
Paper 0.5 7,200
Plastics 0.3 14,000
Glass 0.1 60
Wood 0.1 8,000
Estimate the heat value based on the typical values in table: 0.5 * 7200 + 0.3 * 14000 + 0.1 * 60 +
0.1 * 8000 = 8606 Btu/lb.
3. Use the program developed in (1) to verify the manual computations conducted in (2).
LISTING OF PROGRAM 6.5 (CHAP6.5\FORM1.VB): HEAT VALUE
'*********************************************************************************
'Program 6.5: calculates percentage of heat value
'*********************************************************************************
Public Class Form1
Dim MSW_Component() As String =
{"Cardboard", "Dirt, ashes and other fines",
"Ferrous metals", "Food waste",
"Garden trimmings", "Glass",
"Leather", "Nonferrous metals",
"Paper", "Plastics", "Rubber",
"Textiles", "Wood", "--Select comp.--"}
Dim MSW_Value() As Double =
{7000, 3000, 300, 2000,
2800, 60, 7500, 300,
7200, 14000, 10000,
7500, 8000}
check each combobox to see if the user selected a component, if yes, add
it to the total.
If ComboBox1.SelectedIndex <> 6 Then heatV += addHeatValue(1)
If ComboBox2.SelectedIndex <> 6 Then heatV += addHeatValue(2)
If ComboBox3.SelectedIndex <> 6 Then heatV += addHeatValue(3)
If ComboBox4.SelectedIndex <> 6 Then heatV += addHeatValue(4)
If ComboBox5.SelectedIndex <> 6 Then heatV += addHeatValue(5)
If ComboBox6.SelectedIndex <> 6 Then heatV += addHeatValue(6)
Label4.Text = "Heat value = " + heatV.ToString + " Btu/Lb."
End Sub
Function addHeatValue(ByVal n As Integer) As Double
Dim fraction, heat As Double
Select Case n
which combobox is it?
Case 1
fraction = Val(TextBox1.Text)
heat = Val(TextBox2.Text)
Return fraction * heat
Case 2
fraction = Val(TextBox4.Text)
heat = Val(TextBox3.Text)
Return fraction * heat
Case 3
fraction = Val(TextBox6.Text)
heat = Val(TextBox5.Text)
Return fraction * heat
Case 4
fraction = Val(TextBox8.Text)
heat = Val(TextBox7.Text)
Return fraction * heat
Case 5
fraction = Val(TextBox10.Text)
heat = Val(TextBox9.Text)
Return fraction * heat
Case 6
fraction = Val(TextBox12.Text)
heat = Val(TextBox11.Text)
Return fraction * heat
Case Else
Return 0
End Select
End Function
Table 6.4 gives a general overview of solid waste properties and characteristics of concern.
TABLE 6.4
General Overview of Solid Waste Properties and Characteristics of Concern
Property Influencing Parameters Typical Values Measuring Device
Specific Location, season, storage time, equipment used, processing (compaction, 600900 lb/yd3 as delivered Pycnometry, density meter
weight shredding, etc.) (50300 kg/m3 )
Permeability Type of waste, compaction, soil characteristics Compacted solid wastes in a Oedometer, consolidation
landfill are in the range equipment
between ~1011 and 1012
m2
Moisture Unit weight, decomposition stage, temperature, waste composition, pore 40%65% Moisture gage, moisture
content fluid composition analyzer, electrical
resistance sensor
Angle of Density, surface area and shapes of the particles, the coefficient of friction 4590 Shear test method, tilting
repose of the material, gravity box, fixed funnel and
revolving cylinder method
Fusion point Acidic and alkaline composition and content, type of waste and fuel, type 1100C1200C for the Analytical instrument,
of ash (ash of reactor and burning equipment, rate of burning, temperature and formation of clinker furnace
fusibility) thickness of fire bed or ball, distribution of ash, viscosity
Heat value Waste composition, organic matter, moisture content Calorimeter, analytical
equipment
Example 6.6
1. Write a short computer program that enables calculating the number of cans and compacted
blocks produced by a family given the number of people, the rate of per capita daily
generation of solid waste, the bulk density of refuse in a typical garbage can, and the
collection frequency.
2. A family of four people generates MSW at a rate of 2.5 lb/c/day, and the bulk density of
refuse in a typical garbage can is ~250 lb/yd3. If collection is once a week, how many 30-
gal garbage cans will they need, or the alternative, how many compacted 20-lb blocks would
the family produce if they had a home compactor? How many cans wovuld they need in that
case?
3. Use the program developed in (1) to verify the manual computations conducted in (2).
Solution
1. For the solution of Example 6.6 (1), see the listing of Program 6.6.
a. Solution to Example 6.6 (2): Given: P = 4, generated waste = 2.5 lb/c/day, = 250 lb/yd3.
2.
b. Weight of SW generated = 2.5 lb/c/day 4 persons 7 days/week = 70 lb.
c. Volume of solid waste = weight/density = 70 lb/250 lb/yd3 = 0.28 yd3
i. Volume (convert to gallons) = 0.28 yd3 202 gal/yd3 = 56.6 gal.
ii. They will require two 30-gal cans.
d. If the refuse is compacted into 20-lb blocks, they would need to produce such compacted blocks
to take care of the weeks refuse.
i. If each block of compacted refuse is 1400 lb/yd3, the necessary volume is 70 lb./1400 lb./yd3)
202 gal/yd3 = 10.1 gal.
ii. They would need only one 30-gal can.
'*********************************************************************************
'Program 6.6: Calculates number of cans and
' compacted blocks produced by a family
'*********************************************************************************
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 6.6: Cans and
compacted blocks"
Me.FormBorderStyle = BorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Number of people in the family:"
Label2.Text = "Rate of daily generation of solid waste (lb/c/day):"
Label3.Text = "Bulk density of refuse in a typical garbage can (lb/yd3):"
Label4.Text = "Collection frequency (per week):"
Label5.Text = ""
button1.text = "&Calculate"
Me.Height = 188
End Sub
Sub calculateResults()
Dim s As String = ""
Dim P, rate, dens, freq As Double
Dim weight, vol, vol2, vol3 As Double
P = Val(TextBox1.Text)
rate = Val(TextBox2.Text)
dens = Val(TextBox3.Text)
freq = Val(TextBox4.Text)
weight = rate * P * (7 / freq) 'convert frequency per week to days
s += vbCrLf + "Weight of SW generated = " + rate.ToString + " lb/c/day x "
+ P.ToString + _
" persons x " + (7 / freq).ToString + " days/week = " + weight.ToString
+ " Lb."
vol = weight / dens
s += vbCrLf + "Volume of solid waste = weight/density = " +
weight.ToString + " lb./" + dens.ToString _
+ " lb./yd3 = " + vol.ToString + " yd3"
vol2 = vol * 202 'convert to gallons
s += vbCrLf + "Volume (convert to gallons) = " + vol.ToString + " yd3 x
202 gal/yd3 = " _
+ vol2.ToString + " gal"
s += vbCrLf + vbCrLf + "They will require " +
numberInLetters(Math.Ceiling(vol2 / 30)) + " 30-gal cans. "
s += vbCrLf + "If the refuse is compacted into 20-lb blocks, they would
need to "
s += vbCrLf + "produce such compacted blocks to take care of the weeks
refuse"
vol3 = (weight / 1400) * 202
s += vbCrLf + vbCrLf + "If each block of compacted refuse is 1400 lb/yd3,
the necessary volume is "
s += vbCrLf + "(" + weight.ToString + " lb./1400 lb./yd3) x 202 gal/yd3 =
" + _
Format(vol3, "##.##").ToString + " gal"
s += vbCrLf + "They would need only " + numberInLetters(Math.Ceiling(vol3
/ 30)) + " 30-gal can."
Label5.Text = s
Me.Height = 372
End Sub
'******************************************************************************
'takes a number as integer, and returns it in letters.
'e.g. 1 -> 'One', 2 -> 'Two' and so one.
'********************************************************************************
Function numberInLetters(ByVal n As Integer) As String
Select Case n
Case 0 : Return "Zero"
Case 1 : Return "One"
Case 2 : Return "Two"
Case 3 : Return "Three"
Case 4 : Return "Four"
Case 5 : Return "Five"
Case 6 : Return "Six"
Case 7 : Return "Seven"
Case 8 : Return "Eight"
Case 9 : Return "Nine"
Case 10 : Return "Ten"
Case 11 : Return "Eleven"
Case 12 : Return "Twelve"
Case 13 : Return "Thirteen"
Case 14 : Return "Fourteen"
Case 15 : Return "Fifteen"
Case Else : Return ""
End Select
End Function
The number of collection vehicles needed for a community may be determined from the following
equation:
(6.21)
where:
N is the number of collection vehicles needed
S is the total number of customers serviced
F is the collection frequency, number of collections per week
X is the number of customers a single truck can service per day
W is the number of workdays per week
Example 6.7
1. Write a short computer program that enables calculating the number of collection vehicles
that a community would need for a total of services (customers) that are to be collected once
per week during working days in a city.
2. Use the equation for estimating the number of MSW collection vehicles needed for a certain
community:
The number of collection vehicles a community would need for solid waste collection in a certain
municipality is six trucks. Find the total number of services (customers) that are to be collected once
per week during working days in a Al-Doha in KSA. (Realistically, most trucks can service only
~200300 customers before the truck is full, and a trip to the landfill is necessary).
3. Use the program developed in (1) to verify the manual computations conducted in (2).
Solution
1. Given:
N is the number of collection vehicles needed = 6
S is the total number of customers serviced = ?
F is the collection frequency, number of collections per week = 1.
X is the number of customers a single truck can service per day (A single truck can service 300
customers in a single day and still have time to take the full loads to the landfill) = 300.
2. W is the number of workdays per week (The town wants to collect on Saturdays, Sundays,
Mondays, and Tuesdays leaving Wednesdays for special projects and truck maintenance) = 4
days.
3. Thus, S = N * X * W/F = (300 * 4 * 6)/(1) = 7200.
4. The total number of customers to be serviced = 7200.
LISTING OF PROGRAM 6.7 (CHAP6.7\FORM1.VB): NUMBER OF
COLLECTION VEHICLES NEEDED BY A COMMUNITY
'*********************************************************************************
'Program 6.7: Calculates number of collection vehicles needed by a community
'*********************************************************************************
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 6.7: Collection
vehicles"
Me.FormBorderStyle = BorderStyle.FixedSingle
Me.MaximizeBox = False
Label6.Text = "Formula:" + vbCrLf + "N = (S* F)/(X * W)"
Label7.Text = "Solving for:"
Button1.Text = "&Calculate"
ComboBox1.Items.Clear()
ComboBox1.Items.Add("N (Number of collection vehicles needed)")
ComboBox1.Items.Add("S (Total number of customers serviced)")
ComboBox1.Items.Add("F (Collection frequency per week)")
ComboBox1.Items.Add("X (Number of customers a single truck can service)")
ComboBox1.Items.Add("W (Number of workdays per week)")
ComboBox1.SelectedIndex = 0
End Sub
Sub calculateResults()
Dim str As String = ""
Dim S, F, X, W, N As Double
If ComboBox1.SelectedIndex = 0 Then
Solving for N
S = Val(TextBox1.Text)
F = Val(TextBox2.Text)
X = Val(TextBox3.Text)
W = Val(TextBox4.Text)
N = (S * F) / (X * W)
str = "N = " + N.ToString
str += vbCrLf + "The community will need" +
numberInLetters(Math.Ceiling(N)) + " trucks."
ElseIf ComboBox1.SelectedIndex = 1 Then
Solving for S
N = Val(TextBox1.Text)
F = Val(TextBox2.Text)
X = Val(TextBox3.Text)
W = Val(TextBox4.Text)
S = (N * X * W) / (F)
str = "The total number of customers to be serviced = " +
CInt(S).ToString + " customer"
ElseIf ComboBox1.SelectedIndex = 2 Then
Solving for F
N = Val(TextBox1.Text)
S = Val(TextBox2.Text)
X = Val(TextBox3.Text)
W = Val(TextBox4.Text)
F = (N * X * W) / (S)
str = "The collection frequency = " + CInt(F).ToString + " per week"
ElseIf ComboBox1.SelectedIndex = 3 Then
Solving for X
N = Val(TextBox1.Text)
S = Val(TextBox2.Text)
F = Val(TextBox3.Text)
W = Val(TextBox4.Text)
X = (S * F) / (N * W)
(6.22)
where:
L is the length of conveyor belt, ft
S is the speed of belt, ft/min
F is the speed factor, dimensionless
T is the capacity, tons/h
C is the idle resistance factor, dimensionless
H is the lift, ft
P is the pulley friction, horsepower
Screw conveyors are used to meter shredded refuse into a furnace. The volume of material moved by a
screw conveyor in a flooded condition can be estimated by the following equation:
(6.23)
where:
Q is the delivery of refuse, m3/min
C is the efficiency factor
N is the number of conveyor leads or the number of blades that are wrapped around the conveyor hub R
is the rotational speed of screw, rpm
V is the volume of refuse between each pitch, m3
Crushing devices or rolls break fragile materials such as glass while unfolding rout iron such as iron
cans, which would facilitate separation by sieving. Crushing rolls strongly hold the raw material entering
between two rollers operating in opposite directions. The maximum volume that can be squeezed by
crushing cylinders can be estimated by the following equation:
(6.24)
where:
C is the capacity, tons/h
k is the constant, dimensionless = 60, when taking units and dimensions described in Equation 6.24
v is the speed of cylinders, rpm
D is the cylinder diameter, m
L is the length of cylinder, m
s is the distance of separation between cylinders (disks), m
is the density of the material, g/cm3
Example 6.8
1. Write a short computer program that enables calculating the capacity of a crushing cylinder
given the speed of cylinder, cylinder diameter and length, the density of material, and the
distance between disks.
2. Find the capacity of a crushing cylinder noting that the speed of cylinder is 4600 cycles per
hour, cylinder diameter is 200 mm, its length is 45 cm, the density of material is 2400 kg/m3,
and the distance between disks is 5 mm.
3. Use the program developed in (1) to verify the manual computations conducted in (2).
Solution
1. For the solution of Example 6.8 (1), see the listing of Program 6.8.
a. Solution to Example 6.8 (2): Given: v = 4600 cycles/h = 4600/60 cycles/min, D = 200 mm =
2.
20 cm, L = 0.45 m, = 2400/1000 = 2.4 g/cm3, s = 5 mm.
b. Then, capacity C = kvDLs or C = kv. D.L.s. = 60 (4600/60) rpm 0.2 m 0.45 m 0.005
m 2.4 (g/cm3) = 5 tons/h.
'*********************************************************************************
'Program 6.8: Calculates capacity of a crushing cylinder
'*********************************************************************************
Public Class Form1
Dim C, k, v, D, L, s, rho As Double
s = s / 1000 convert to m.
rho = rho / 1000 convert to g/cm3
C = k * v * D * L * s * rho
End Sub
Sub showResults()
Label7.Text = "Capacity, C = " + FormatNumber(C, NumericUpDown1.Value) + "
tones/hr"
End Sub
In separating various pure materials from a mixture, the separation can be either binary (two output
streams) or polynary (more than two output streams). A binary separator is designed to extract one type of
material from a waste stream (e.g., magnet drawing off ferrous materials as the desired output or product
or extract). A polynary separator separates components from each other through multiple paths (e.g.,
screen with a series of different sized holes, producing several products) (Rietema 1957, Rodic-wiersma
2005).
Suppose in a binary separator, the input stream is composed of a mixture of x and y to be separated.
The mass per time (e.g., tons/h) of x and y fed to the separator is x0 and y0, respectively. The mass per
time of x and y exiting in the first output stream is x1 and y1, and the second output stream is x2 and y2. The
device separates x into the first output stream and y into the second. The effectiveness of the separation
then can be expressed in terms of recovery (Figure 6.2).
(6.25)
where:
Rx1 is the recovery of component x in the first output stream (1) x1 is the first component emerging of
the first output stream (1), mass/time x0 is the x component entering to the binary separator, mass/time
Similarly, the recovery of y in the second output stream may be found from the following equation:
(6.26)
where Px1 is the purity of the first output stream in terms of x, which is expressed as a percentage.
Similarly, the purity of the second output stream in terms of y is as presented in the following equation:
(6.28)
Overall recovery is useful only for process design, such as sizing conveyor belts. Nevertheless, it is
not a measure of separation effectiveness. It should not be used in describing the operation of materials
separation. Overall recovery may be defined as in the following equation:
(6.29)
(6.30)
WorrellStessel equation for finding the separation performance of a binary separator is reflected in
the following equation:
(6.31)
Example 6.9
1. Write a short computer program that enables calculating the recoveries and effectiveness of
separation of a binary separator, given the feed rate, the hourly output (1) and output (2), the
x constituent, and the amount of x ending up in output 2 using different methods.
2. A binary separator has a feed rate of 1 ton/h. It is operated so that during any 1 h, 750 kg
reports as output 1 and 250 kg as output 2. Of the 750 kg, the x constituent is 700 kg, whereas
70 kg of x ends up in output 2. Calculate the recoveries and effectiveness of the separation
using the methods of recovery, purity, Rietema effectiveness, and WorrellStessel equation.
Comment on your results.
3. Use the program developed in (1) to verify the manual computations conducted in (2).
Solution
1. For the solution of Example 6.9 (1), see the listing of Program 6.9.
2. Solution to Example 6.9 (2): Given: Data: x0 + y0 = 1000 kg (1 ton), x1 = 750 kg, x2 = 70 kg
(see figure).
From the data, find x0 = x1 + x2 = 700 + 70 = 770 kg.
Then, find y0 = total value x0 = 1000 770 = 230 kg.
From track (1), the value of y1 = 750 x1 = 750 700 = 50 kg.
From track (2), the value of y2 = 250 x2 = 250 70 = 180 kg.
The recovery of x in the first output is
'*********************************************************************************
'Program 6.9: Calculates the recoveries and the effectiveness
' of separation of a binary separator.
'*********************************************************************************
Imports System.Math
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 6.9:"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Program 6.9: Calculates the recoveries and the
effectiveness "
Label1.Text += vbCrLf + "of separation of a binary separator."
Label2.Text = "Feed rate (kg/h):"
Label3.Text = "Hourly output (1) (kg):"
Label4.Text = "Hourly output (2) (kg):"
Label5.Text = "The x constituent (x1) (kg):"
Label6.Text = "The amount of x ending up in output2 (x2) (kg):"
Label7.Text = ""
button1.text = "&Calculate"
End Sub
Sub calculateResults()
Dim feed, x0, x1, x2, y0, y1, y2, Rx, Px, Exy, Exy2 As Double
Dim out1, out2 As Double
feed = Val(TextBox1.Text)
out1 = Val(TextBox2.Text)
out2 = Val(TextBox3.Text)
x1 = Val(TextBox4.Text)
x2 = Val(TextBox5.Text)
x0 = x1 + x2
y0 = feed - x0
y1 = out1 - x1
y2 = out2 - x2
Find the recovery of x in the first output:
Rx = (x1 / x0) * 100
Find purity of this output stream:
Px = x1 / (x1 + y1) * 100
Using Rietemas definition of effectiveness:
Exy = 100 * abs((x1 / x0) - (y1 / y0))
Worrell-Stessel effectiveness equation:
Exy2 = sqrt(abs((x1 / x0) * (y2 / y0))) * 100
Dim str As String
str = "x0 = x1 + x2 = " + fN(x0) + "kg"
str += vbCrLf + "y0 = total - x0 = " + fN(y0) + "kg"
str += vbCrLf + "y1 = output1 - x1 = " + fN(y1) + "kg"
str += vbCrLf + "y2 = output2 - x2 = " + fN(y2) + "kg"
str += vbCrLf + "Recovery of x in the first output Rx1 = " + fN(Rx) + "%"
str += vbCrLf + "Purity of output stream Px1 = " + fN(Px) + "%"
str += vbCrLf + "Effectiveness (using Rietemas definition) = " + fN(Exy)
+ "%"
str += vbCrLf + "Effectiveness (using Worrell-Stessel eqn.) = " + fN(Exy2)
+ "%"
Label7.Text = str
End Sub
(6.32)
where:
C is the total amount percolating within the top layer of soil, mm/year
P is the precipitation, mm/year
r is the coefficient of runoff (can be estimated for different types of soil) S is the storage in the soil or
solid waste, mm/year
E is the evapotranspiration, mm/year
Gas production over time may be estimated from the EPA landfill gas emissions model (LandGEM)
model* based on the following equation:
(6.33)
where:
QT is the total gas emission rate from a landfill, volume/time n is the total time periods of waste
placement
k is the landfill gas emission constant, time1
Lo is the methane generation potential, volume/mass of waste
ti is the age of the ith section of waste, time
Mi is the mass of wet waste, placed at time i
Example 6.10
1. Write a short computer program that enables calculating the peak gas production for a
number of years, given the landfill opening period, the annual waste received, the gas
emission constant, and the methane generation potential.
2. A landfill cell is open for 4 years, receiving 90,000 tons of waste per year (recall that 1 ton
= 1000 kg). Find the peak gas production for the first year if the landfill gas emission
constant is 0.03 per year, and the methane generation potential is 140 m3/ton.
3. Use the program developed in (1) to verify the manual computations conducted in (2).
Solution
1. For the solution of Example 6.10 (1), see the listing of Program 6.10.
a. Solution to Example 6.10 (2): Given: Mi = 90000 tons/year, k = 0.03, Lo = 140, ti = 1
2.
'*********************************************************************************
'Program 6.10: Calculates the peak gas production for a number of years
'*********************************************************************************
Public Class Form1
Dim Mi(), k(), Lo() As Double
Dim Qt, t As Double
Dim n As Integer
Example 6.11
1. Use the EPA LandGEM model used for estimating methane production from a sanitary
landfill.
A landfill cell is open for 3 years, receiving 200,000 tons of waste per year (recall that 1 ton 1000
kg). Calculate the peak gas production if the landfill gas emission constant is 0.05 year1, and the
methane generation potential is 170 m3/ton.
Hint: For the second year, this waste produces less gas, but the next new layer produces more, and
the two layers are added to yield the total gas production for the second year.
Solution
QT is the total gas emission rate from a landfill, volume/time n is the total time periods of waste
placement
k is the landfill gas emission constant, time1
Lo is the methane generation potential, volume/mass of waste ti is the age of the ith section of waste,
time
Mi is the mass of wet waste, placed at time i
Depth of leachate in the lining can be estimated using Darcys law and continuity equation, depending
on the rates of filtration, the permeability of drainage materials, the distance from discharge tube, and the
slope of drainage system. Equation 6.34 illustrates the depth of leachate estimates:
(6.34)
where:
Ymax is the maximum saturated depth over the liner, ft
P is the distance between collection pipes, ft
q is the vertical inflow (infiltration), defined in this equation as from a 25-year, 24-h storm, ft/day is
the inclination of liner from horizontal, degrees
K is the hydraulic conductivity of the drainage layer, ft/day
Needed land area can be found from the estimates of the required volume from the following equation:
(6.35)
where:
V is the volume of sanitary landfill area
W is the weight of solid waste to be buried
is the average density of solid waste and garbage
x is the percentage of compressed solid waste volume, %
vr is the volume of a layer of coverage required (thickness of 1530 cm for medium layers, temporary
edge and front and overhead slope, and at least 60 cm in the final layer), and that this volume ranges
between 17% of volume of solid waste for deep burial to 33% for surface burial and on average 25%.
Average sanitary landfill volume can be estimated as shown in the following equation:
(6.36)
Example 6.12
1. Write a computer program to estimate the design storm (vertical flow) in cm/s using a coarse
discharge material assuming that rain-water from 25 years and a 24-h storm entering the
leachate drainage system, given the maximum design depth of leachate above lining in a
sanitary landfill, the distance between leachate collection tubes, hydraulic conductivity, and
the slope of discharge.
2. The maximum design depth of leachate above lining in a sanitary landfill is 16 cm, and the
distance between leachate collection tubes is 19m. The hydraulic conductivity is 0.02 cm/s
for a slope of discharge 2%. Estimate the design storm (vertical flow) in cm/s using a coarse
discharge material and assuming that rainwater from 25 years and a 24-h storm entering the
leachate drainage system.
3. Use program developed in (1) to verify your computations in (2).
Solution
Given: Ymax = 16 cm, P = 1900 cm, k = 0.02 cm/s, q = ? cm/s, tan a = 2/100 = 0.02.
By trial and error, q = 0.00038 cm/s (http://www.wolframalpha.com/).
'*********************************************************************************
'Example 6.12: Estimates the design storm (vertical flow)
'*********************************************************************************
Public Class Form1
Dim Ymax, P, k, tanA, Q As Double
(6.37)
Example 6.13
1. Write a short computer program that enables estimating the production of CO2 and CH4
during the anaerobic decomposition of a certain material.
2. Estimate the production of CO2 and CH4 during the anaerobic decomposition of acetic acid,
CH3COOH.
Estimate the percentage of landfill gas that is methane for a rapidly decomposing waste with
the following composition: C68H111O50N. Assume that the maximum theoretical landfill gas
may be estimated using the following equation (University of Dammam, 2015):
3. Use the program developed in (1) to verify the manual computations conducted in (2).
Solution
1. For the solution of Example 6.13 (1), see the listing of program 6.13.
a. Solution to Example 6.13 (2): Given: Reactants and products: a = 68, b = 111, c = 50, d = 1.
2.
b. The formula for acetic acid is CH3COOH.
c. The formula for the reaction is C68H111O50N + 16H2O = 35CH4 + 33CO2 + NH3.
d. Determine the water coefficient as (4a b 2c + 3d)/4 = (4 * 68 111 2 * 50 + 3 *
1)/4 = 16.
e. Determine the methane coefficient as (4a + b 2c 3d)/4 = (4 * 68 + 111 2 * 50 3 *
1)/8 = 35.
f. Determine carbon dioxide coefficient as (4a b + 2c + 3d)/4 = (4 * 68 111 + 2 * 50 +
3 * 1)/8 = 33.
g. Determine ammonia dioxide coefficient as d = 1.
h. Total of methane, carbon dioxide, and ammonia = 35 + 33 + 1 = 69 moles.
i. Percentage of methane = 35 moles/69 moles = 51%.
LISTING OF PROGRAM 6.13 (Chap6.13\Form1.vb): Production of CO2
and CH4
'*********************************************************************************
'Program 6.13: Estimates the production of CO2 and CH4
'*********************************************************************************
Imports System.Math
Public Class Form1
Dim a, b, c, d As Double
Dim H2O, CH4, CO2, NH3
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 6.13: The production
of CO2 and CH4"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Enter the chemical formula of the material, for example,
acetic acid is CH3COOH"
Label2.Text = ""
Button1.Text = "&Calculate"
End Sub
Sub calculateResults()
readChemicalFormula()
H2O = ((4 * a) - b - (2 * c) + (3 * d)) / 4
CH4 = ((4 * a) + b - (2 * c) - (3 * d)) / 8
CO2 = ((4 * a) - b + (2 * c) + (3 * d)) / 8
NH3 = d
H2O = abs(H2O)
CH4 = abs(CH4)
CO2 = abs(CO2)
NH3 = abs(NH3)
Label2.Text = "a=" + a.ToString + ", b=" + b.ToString + ", c=" +
c.ToString + ", d=" + d.ToString Label2.Text += vbCrLf + TextBox1.Text + " +
" + H2O.ToString + "H2O = " + CH4.ToString + "CH4 + " _
+ CO2.ToString + "CO2 + " + NH3.ToString + "NH3"
Dim molCH4, molCO2, totMol
molCH4 = CH4 * 16 molecular wt of CH4 is 16
molCO2 = CO2 * 44 molecular wt of CO2 is 44
totMol = molCH4 + molCO2
molCH4 = molCH4 / totMol
molCO2 = molCO2 / totMol
Label2.Text += vbCrLf + vbCrLf + "1 kg of " + TextBox1.Text.ToUpper + _
" produces " + FormatNumber(molCH4, 2) + " kg CH4 and " +
FormatNumber(molCO2, 2) + " kg CO2."
End Sub
********************************************************************************
Reads the chemical formula entered in TextBox1, goes through it letter-by-
letter.
if the letter is C, it adds one to variable a, if it is H, it adds to
b, and so on. If there is a number after the letter, e.g, H3 in
CH3COOH, it adds the value accordingly, in the above example it adds 3 to
variable c, and so on
********************************************************************************
Sub readChemicalFormula()
Dim i As Integer = 0
Dim formula As String = TextBox1.Text.ToUpper + " "
Dim tmp As Double
a = 0 : b = 0 : c = 0 : d = 0
While i < formula.Length - 1
Select Case formula.Chars(i)
Case "C"
If Val(formula.Chars(i + 1)) > 0 Then
tmp = Val(formula.Chars(i + 1))
i += 2
While i < formula.Length - 1
If formula.Chars(i) >= CChar("0") And formula.Chars(i) <=
CChar("9") Then tmp = (tmp * 10) + Val(formula.Chars(i))
Else : Exit While
End If
i += 1
End While
a += tmp
Continue While
Else : a += 1
End If
Case "H"
If Val(formula.Chars(i + 1)) > 0 Then
tmp = Val(formula.Chars(i + 1))
i += 2
While i < formula.Length - 1
In the beginning of composting process, mesophilic* microorganisms are frequent with most of the
occurring biochemical reactions being attributed to them. The increase in these organisms, after about a
week, increases the temperature of compost, which limits the growth of these organisms to be replaced by
thermophilic organisms. When the temperature drops, it usually means that the compost needs to be
aerated, or watered, or that composting is complete. It is desirable to work at a temperature between
60C and 75C for complete digestion.
A critical variable in composting is the moisture content. If the mixture is too dry, the microorganisms
cannot survive, and composting stops. If there is too much water, the oxygen from the air is not able to
penetrate to where the microorganisms are, and the mixture becomes anaerobic. The right amount of
moisture, whether wastewater sludge or other sources of water, that needs to be added to the solids to
achieve just the right moisture content can be calculated from a simple mass balance as presented in the
following equation:
(6.38)
where:
MP is the moisture in mixed pile (heap) ready to begin the process of composting, %
Ma is the moisture in solids as in shredded and screened refuse, %
xa is the mass of solids, wet tons
xs is the mass of sludge or other source of water, tons. (This assumes that the solids content of the
sludge is very low, a good assumption if waste activated sludge is used, which is commonly <1% solids)
Example 6.14
1. Write a short computer program that enables calculating the amount of water or wastewater
sludge to be added to the solids of an MSW to obtain the desired concentration of moisture
content of the heap to start the process of composting, given composted materials mass, the
amount of moisture content in it, and moisture content.
2. A mixture of solids that contains paper, newspapers, and potentially composted materials, with a
mass of 8 tons, has a moisture content of 4%. It is required to make a mixture for the process of
composting with the moisture content of 45% moisture. Find the amount of water or wastewater
sludge to be added to the solids of this MSW to obtain the desired concentration of moisture
content of the heap to start the process of composting.
3 Use the program developed in (1) to verify the manual computations conducted in (2).
Solution
1. For the solution of Example 6.14 (1), see the listing of Program 6.14.
2. Solution to Example 6.14 (2): Given: Data: xa = 8 tons, Ma = 4%, MP = 45%.
a.
b. Use the following equation to find the amount of water needed xs from wastewater:
'*********************************************************************************
'Program 6.14: Calculates amount of water or wastewater sludge to be added
'to the solids of a MSW to obtain desired concentration of moisture content.
'*********************************************************************************
Public Class Form1
Dim MP, Ma, Xa, Xs As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 6.14:"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "The formula:" + vbCrLf
Label1.Text += "MP = ((Ma * Xa) + (100 * Xs)) / (Xs + Xa)"
Label2.Text = "Composted materials mass, Xa (ton):"
Label3.Text = "The amount of moisture content in it, Ma (%):"
Label4.Text = "Moisture content, MP (%):"
Label5.Text = ""
Button1.Text = "&Calculate"
End Sub
Sub calculateResults()
Xa = Val(TextBox1.Text)
Ma = Val(TextBox2.Text)
MP = Val(TextBox3.Text)
Formula: MP = ((Ma * Xa) + (100 * Xs)) / (Xs + Xa)
Xs = ((MP * Xa) - (Ma * Xa)) / (100 - MP)
Label5.Text = "xs = " + Format(Xs, "###.#") + " tons from water or from
wastewater sludge."
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
End Sub
End Class
Estimation of carbon and nitrogen levels and the C/N ratio is based on mass balances. If two materials
such as shredded refuse and sewage sludge are mixed, the carbon of the mixture is calculated as shown in
the following equation:
(6.39)
where:
Cp is the carbon concentration in the mixture prior to composting, % of total wet mass of mixture Cr is
the carbon concentration in the refuse, % of total wet refuse mass Cs is the carbon concentration in the
sludge, % of total wet sludge mass Xs is the total mass of sludge, wet tons per day
Xr is the total mass of refuse, wet tons per day
MSW and refuse can be burned as is, or it can be processed to improve its heat value and to make it
easier to handle in a combustor. Processed refuse also can be combined with other fuels (such as coal)
and cofired in a heat recovery combustor or can be used to provide electrical power for the community.
The amount of oxygen necessary to oxidize some hydrocarbon is known as stoichiometric oxygen.
Usually, refuse is not burned using air as the source of oxygen. Because air contains 23.15% oxygen by
weight, then stoichiometric air required can be determined from the following equation:
(6.40)
Example 6.15
1. Write a short computer program that enables calculating stoichiometric oxygen and
stoichiometric air required for the combustion of a gas.
2. Calculate the stoichiometric oxygen and stoichiometric air required for the combustion of
methane gas.
3 Use the program developed in (1) to verify the manual computations conducted in (2).
Solution
1. For the solution of Example 6.15 (1), see the listing of Program 6.15.
a. Solution to Example 6.15 (2): The equation for combustion of methane is CH4 + 2O2 = CO2
2.
+ 2H2O.
b. That is, it takes 16 g of methane (12 + 4) to react with 2 2 16 = 64 moles of oxygen. Thus,
stoichiometric oxygen required for combustion of methane is 64/16 = 4 g O2/g CH4.
c Stoichiometric air requirement = 4/0.2315 = 17.3 g air/g methane.
LISTING OF PROGRAM 6.15 (Chap6.15\Form1.vb): Stoichiometric Oxygen
and Air Required for Combustion of a Gas
'*********************************************************************************
'Program 6.15: Calculates stoichiometric oxygen and air
' required for the combustion of a gas
'*********************************************************************************
Imports System.Math
Public Class Form1
Dim a, b, c, d As Double
Dim H2O, GAS, CO2, O2 As Double
Dim outputStr(4) As String
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 6.15:"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Enter the equation for combustion of the gas:"
Label2.Text = ""
CheckBox1.Checked = False
CheckBox1.Text = "Use Example 6.15, Combustion of methane CH4 + 2O2 = CO2
+ 2H2O"
Button1.Text = "&Calculate"
End Sub
Sub calculateResults()
readChemicalFormula()
Dim result, result2 As Double
result = O2 / GAS
result2 = result / 0.2315
Label2.Text = "It takes " + GAS.ToString + " grams of (" + outputStr(1) +
") to react with"
Label2.Text += O2.ToString + " moles of oxygen"
Label2.Text += vbCrLf + "Stoichiometric oxygen required for combustion is
" + Format(result, "###.#") Label2.Text += vbCrLf + "Stoichiometric air
requirement = " + result.ToString + "/0.2315 = " _
+ Format(result2, "###.#") + " g air/g gas."
End Sub
********************************************************************************
Reads the chemical formula entered in TextBox1, goes through it letter-by-
letter.
it divides the formula into four components, two on the left side of the
equal = sign and two on the right side. it then calculates the weight of
each one.
Sample formula: CH4 + 2O2 = CO2 + 2H2O
********************************************************************************
Sub readChemicalFormula()
Dim i As Integer = 0
Dim i2 As Integer = 0
Dim formula As String = TextBox1.Text.ToUpper + " "
Dim f(4) As String
Dim r(4) As Double
Dim x, multiplier As Double
GAS = 0 : O2 = 0 : CO2 = 0 : H2O = 0
break down the formula into four parts
i = formula.IndexOf("+")
f(1) = formula.Substring(0, i)
i2 = formula.IndexOf("=")
f(2) = formula.Substring(i + 1, i2 - i - 1)
i = formula.IndexOf("+", i2)
f(3) = formula.Substring(i2 + 1, i - i2 - 1)
f(4) = formula.Substring(i + 1, formula.Length - i - 1)
For j = 1 To 4
run each part of the formula in turn, calculating its weight
i = 0
multiplier = 0
r(j) = 0
f(j) = " " + f(j) + " "
While i < f(j).Length - 1
If multiplier = 0 And IsNumeric(f(j).Chars(i)) Then
the first number in the formula is the multiplier, e.g. 2H2O
multiplier = Val(f(j).Chars(i))
Else
Select Case f(j).Chars(i)
Case "C"
if the next char is a number, e.g. C2, then multiply this
Exit Sub
End If
the four parts are not arranged.. arrange then so that the gas result is
the first, the oxygen is second, the CO2 is third, and the water is fourth.
For i = 1 To 4
If f(i).Contains("CO2") Then
CO2 = r(i)
outputStr(3) = f(i).Trim
ElseIf f(i).Contains("O2") Then
O2 = r(i)
outputStr(2) = f(i).Trim
ElseIf f(i).Contains("H2O") Then
H2O = r(i)
outputStr(4) = f(i).Trim
Else
GAS = r(i)
outputStr(1) = f(i).Trim
End If
Next
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
End Sub
Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles CheckBox1.CheckedChanged If CheckBox1.Checked
Then
TextBox1.Text = "CH4 + 2O2 = CO2 + 2H2O"
Else
TextBox1.Text = ""
End If
End Sub
End Class
In a power plant, water is heated to steam in a boiler. Steam is used to turn a turbine, which drives a
generator. This process can be simplified to a simple energy balance where energy in has to equal energy
out (energy wasted in the conversion + useful energy) plus energy accumulated in box (energy changed in
form) as presented in the following equation:
(6.41)
Energy systems in a steady state are defined as no change occurring over time. As such, there cannot be
a continuous accumulation of energy, or if some of the energy out is useful and the rest is wasted and then
Equation 6.41 becomes:
(6.42)
(6.43)
(6.44)
A thermal balance on a large combustion unit is difficult because much of the heat cannot be accurately
measured. Assuming recovery of heat as steam in a combustor, input heat to a black box (see Figure 6.3)
is from heat value in the fuel and heat in the water entering the water wall pipes. The output is the
sensible heat in the stack gases, the latent heat of water, the heat in the ashes, the heat in the steam, and the
heat lost due to radiation. If the process is in a steady state, the equation of thermal balance can be as
indicated in the following equation:
(6.45)
Example 6.16
1. Write a short computer program that enables calculating the temperature of the stack gases
given heat value of the fuel, air flow, heat input lost due to radiation, percentage of fuel
remaining uncombusted in ash, ash exit temperature from combustion chamber, specific heat
of ash, specific heat of air, and latent heat of vaporization.
2. A refractory combustion unit lined with no water wall and no heat recovery is burning RDF*
consisting of 85% organics, 10% water, and 5% inorganics or inerts at a rate of 950 kg/h.
Determine the temperature, T, at which ash exits the combustion chamber (in both C and
a. F), assuming the following: Heat value of the fuel = 19,000 kJ/kg on a moisture-free basis.
b. Air flow = 9,500 kg/h and that the under-and overfire air contributes negligible heat.
c 5% of the heat input is lost due to radiation.
d 15% of the fuel remains uncombusted in the ash.
e Specific heat of ash = 0.837 kJ/kg/C.
f Specific heat of air = 1.0 kJ/kg/C.
g Latent heat of vaporization = 2575 kJ/kg.
h Temperature of the stack gases = 1500C.
3 Use the program developed in (1) to verify the manual computations conducted in (2).
Solution
1. For the solution of Example 6.16 (1), see the listing of Program 6.16.
2. Solution to Example 6.16 (2):
Given: RDF 85% organics, 10% water, 5% inorganics or inerts.
RDF rate = 950 kg/h.
Heat value of the fuel = 19,000 kJ/kg.
Air flow = 9,500 kg/h.
Heat input is lost due to radiation = 5%.
Fuel remaining uncombusted in the ash = 15%.
Specific heat of ash = 0.837 kJ/kg/C.
Temperature of the stack gases = 1500C.
Ash temperature = TC???
Specific heat of air is 1.0 kJ/kg/oC.
Latent heat of vaporization = 2575 kJ/kg.
'*********************************************************************************
'Program 6.16: Calculates temperature of the stack gases
'*********************************************************************************
Public Class Form1
Dim g As Graphics
Dim heatValue, airFlow, percRad, percAsh, exitTemp, AshSpHeat, AirSpHeat,
latentHeat As Double Dim RDFRate, percOrg, percWater, percInerts As Double
Dim toStack, toVapor, toRad, toAsh, fromFuel, gasTemp As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 6.16: Temperature of
the stack gases"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Heat value of the fuel (kJ/kg):"
Label2.Text = "Air flow (kg/h):"
Label3.Text = "Heat input lost due to radiation (%):"
Label4.Text = "Fuel remaining uncombusted in the ash (%):"
Label5.Text = "Stack gases temp. (C):"
Label6.Text = "Specific heat of ash (kJ/kg/C):"
Label7.Text = "Specific heat of air (kJ/kg/C):"
Label8.Text = "Latent heat of vaporization (kJ/kg):"
Label9.Text = "Refuse-derived fuel (RDF) rate (kg/h):"
Label10.Text = "Percentage of organics (%):"
Label11.Text = "Percentage of water (%):"
Label12.Text = "Percentage of inorganics/inerts (%):"
Label13.Text = "Ash exit temp. from combustion chamber (C):"
Button1.Text = "&Calculate"
End Sub
Sub calculateResults()
heatValue = Val(TextBox1.Text)
airFlow = Val(TextBox2.Text)
percRad = Val(TextBox3.Text)
percAsh = Val(TextBox4.Text)
gasTemp = Val(TextBox5.Text)
AshSpHeat = Val(TextBox6.Text)
AirSpHeat = Val(TextBox7.Text)
latentHeat = Val(TextBox8.Text)
RDFRate = Val(TextBox9.Text)
percOrg = Val(TextBox10.Text)
percWater = Val(TextBox11.Text)
percInerts = Val(TextBox12.Text)
If percOrg > 1 Then percOrg /= 100 if percentage is input as xx%, convert
to 0.xx%
If percWater > 1 Then percWater /= 100 if percentage is input as xx%,
convert to 0.xx%
If percInerts > 1 Then percInerts /= 100 if percentage is input as xx%,
convert to 0.xx%
If percRad > 1 Then percRad /= 100 if percentage is input as xx%, convert
to 0.xx%
If percAsh > 1 Then percAsh /= 100 if percentage is input as xx%, convert
to 0.xx%
fromFuel = RDFRate * percOrg * heatValue
toVapor = RDFRate * percWater * latentHeat
toRad = fromFuel * percRad
toAsh = ((RDFRate * percInerts) + (RDFRate * percOrg * percAsh)) *
AshSpHeat
toStack = airFlow * gasTemp * AirSpHeat
Dim ashTemp As Double = fromFuel - toRad - toVapor - toStack
ashTemp /= toAsh
TextBox13.Text = FormatNumber(ashTemp, 2)
drawStack()
End Sub
Sub drawStack()
Dim bmp As Bitmap = New Bitmap(PictureBox1.Width, PictureBox1.Height)
g = Graphics.FromImage(bmp)
g.Clear(Color.White)
draw stack box in the middle of the area
g.DrawRectangle(Pens.Black, CInt((PictureBox1.Width / 2) - 50), _
CInt((PictureBox1.Height / 2) - 35), 100, 70)
draw the 7 arrows, 2 into and 5 out of the stack
Dim x = CInt((PictureBox1.Width / 2) - 50)
Dim y = CInt((PictureBox1.Height / 2) - 35)
drawArrow(g, x - 30, y + 20, x, y + 20)
drawArrow(g, x - 30, y + 50, x, y + 50)
drawArrow(g, x + 20, y, x + 20, y - 20)
drawArrow(g, x + 40, y, x + 40, y - 10)
drawArrow(g, x + 60, y, x + 60, y - 30)
drawArrow(g, x + 60, y + 70, x + 60, y + 100)
drawArrow(g, x + 100, y + 40, x + 130, y + 40)
output the results
Dim s As String
Dim f As Font = New Font(FontFamily.GenericSansSerif, 8)
Dim f2 As Font = New Font(f, FontStyle.Bold Or FontStyle.Underline)
s = "To stack = heat of combustion " + vbCrLf + " heat losses" + vbCrLf +
_
"= " + Format(toStack, "n") + " kJ/hr"
g.DrawString(s, f, Brushes.Black, New Point(10, y - 50))
s = "To vaporization = mass*%water" + vbCrLf + "*latent heat of
vaporization" + vbCrLf + _
"= " + Format(toVapor, "n") + " kJ/hr"
g.DrawString(s, f, Brushes.Black, New Point(x + 65, y - 50))
s = "From fuel = mass" + vbCrLf + "*%organics*heat " + vbCrLf + "value of
fuel" + _
vbCrLf + "= " + Format(fromFuel, "n") + " kJ/hr"
g.DrawString(s, f, Brushes.Black, New Point(10, y + 30))
s = "To radiation = from " + vbCrLf + "combustion*%to radiation" + vbCrLf
+ _
"= " + Format(toRad, "n") + " kJ/hr"
g.DrawString(s, f, Brushes.Black, New Point(x + 110, y + 50))
s = "To ash = (mass inerts+unburned)" + vbCrLf +
"*%organics*temperature*specific" + _
vbCrLf + " heat of ash" + vbCrLf + "= " + Format(toAsh, "n") + " kJ/hr"
g.DrawString(s, f, Brushes.Black, New Point(x + 40, y + 110))
s = "Energy flow in a combustor"
g.DrawString(s, f2, Brushes.Black, New Point(x - 15, y + 160))
PictureBox1.Image = Image.FromHbitmap(bmp.GetHbitmap)
g.Dispose()
bmp.Dispose()
End Sub
Sub drawArrow(ByRef g As Graphics, ByVal x As Integer, ByVal y As Integer,
ByVal x2 As Integer, ByVal y2 As Integer) Draw the arrow stem
g.DrawLine(Pens.Black, x, y, x2, y2)
Draw the arrow head
If x = x2 Then arrow is vertical
If y2 > y Then arrow is facing down
g.DrawLine(Pens.Black, x2, y2, x2 - 4, y2 - 4)
g.DrawLine(Pens.Black, x2, y2, x2 + 4, y2 - 4)
Else arrow is facing up
g.DrawLine(Pens.Black, x2, y2, x2 - 4, y2 + 4)
g.DrawLine(Pens.Black, x2, y2, x2 + 4, y2 + 4)
End If
Else arrow is horizontal
If x > x2 Then arrow is facing left
g.DrawLine(Pens.Black, x2, y2, x2 + 4, y2 - 4)
g.DrawLine(Pens.Black, x2, y2, x2 + 4, y2 + 4)
Else arrow is facing right
g.DrawLine(Pens.Black, x2, y2, x2 - 4, y2 - 4)
g.DrawLine(Pens.Black, x2, y2, x2 - 4, y2 + 4)
End If
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
End Sub
End Class
(6.46)
where:
Y is the installment cost
i is the annual interest rate (enter interest i in decimal form, i.e., as a fraction) n is the number of
installments
X is the amount borrowed
(6.47)
Equations 7.1 and 7.2 can be combined as revealed in the following equation:
(6.48)
Example 6.17
1. Write a short computer program that enables calculating the capital cost, CRF, and annual
installments on this capital expense to purchase a refuse collection truck, given truck
expected life, SAR, annual back payments, and interest rate.
2. A municipality decides to purchase a refuse collection truck that has an expected life of 10
years for SAR* 650,000. The cost of the truck is to be borrowed from the local bank and to
be paid back in 10 annual payments. Determine the annual installments on this capital
expense if the interest rate is 6.125%.
3 Use the program developed in (1) to verify the manual computations conducted in (2).
Solution
1. For the solution of Example 6.17 (1), see the listing of Program 6.17.
2. Solution to Example 6.17 (2):
c The annual cost to the municipality would then be Y = CRF * X = 0.13667 * 650,000 or Y =
SAR 88,836. That is, the municipality would have to pay SAR 88,836 each year for 10 years to
pay back the bank loan on this truck.
d It is to be noted that this truck does not cost 10 * 88,836 = SAR 888,360, because the Saudi
riyals for each year are different and cannot be augmented and added.
'*********************************************************************************
'Program 6.17: Calculates capital cost, capital recovery factor
'and annual installments
'*********************************************************************************
Public Class Form1
Dim exLife, price, backPay, intRate As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 6.17: Capital cost
et al"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = " Calculates capital cost, capital recovery factor and
annual installments."
Label2.Text = "Truck expected life (yr):"
Label3.Text = "Price (SAR):"
Label4.Text = "Annual back payments:"
Label5.Text = "Interest rate (%):"
Button1.Text = "&Calculate"
Label6.Text = ""
End Sub
Sub calculateResults()
exLife = Val(TextBox1.Text)
price = Val(TextBox2.Text)
backPay = Val(TextBox3.Text)
intRate = Val(TextBox4.Text)
intRate /= 100
Dim CRF, aCost As Double
CRF = ((intRate * ((1 + intRate) ^ exLife)) / (((1 + intRate) ^ exLife) -
1))
(6.49)
where:
Y is the amount that has to be invested
i is the annual interest rate
n is the number of years
X is the amount available every year
(6.50)
Then, by combining Equations 6.49 and 6.50, the following equation is obtained:
(6.51)
Example 6.18
1. Write a short computer program that enables calculating the amount to be invested at the
moment (present), Y dollars, at a certain interest rate i to have available X dollars every year
for n number of years.
2. A town wants to invest money in a bank account drawing an interest rate of 6.125% so that it
can withdraw SAR 88,836 every year for the next 10 years. Compute the amount that must be
invested.
3 Use the program developed in (1) to verify the manual computations conducted in (2).
Solution
1. For the solution of Example 6.18 (1), see the listing of Program 6.18.
a. Solution to Example 6.18 (2): Given: i = 6.125%, withdraw, X = SAR 88,836, n = 10 year.
2.
b. From Table 6.6, the PWF for n = 10 is 7.316.
c Thus, the money required, Y = PWF*X = 7.316 x SAR 88,836 or Y = SAR 649,924.
'*********************************************************************************
'Program 6.18: Calculates amount of investment needed
'for a number of years.
'*********************************************************************************
Public Class Form1
Dim i, X, n, Y As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 6.18:"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = " Calculates amount of investment needed for a number of
years."
Label2.Text = "Interest rate (%):"
Label3.Text = "Yearly withdrawal needed (SAR):"
Label4.Text = "Total number of years:"
Button1.Text = "&Calculate"
Label5.Text = ""
End Sub
Sub calculateResults()
i = Val(TextBox1.Text)
X = Val(TextBox2.Text)
n = Val(TextBox3.Text)
i /= 100
Dim PWF As Double
PWF = ((((1 + i) ^ n) - 1) / (i * ((1 + i) ^ n)))
Y = PWF * X
Label5.Text = "Present worth factor (PWF) for " + n.ToString + " years is
" + Format(PWF, "n") Label5.Text += vbCrLf + "The money required, Y = " +
Format(PWF, "n") + _
" * " + Format(X, "n") + " = SAR " + Format(Y, "n")
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
calculateResults()
End Sub
End Class
(6.52)
A sinking fund factor, SFF, may be introduced as shown in the following equation:
(6.53)
Example 6.19
1. Write a short computer program that enables calculating the funds Y necessary to be invested
in an account that draws i percent interest so that at the end of n years, the fund has X value
in it.
2. A local solid waste enterprise aspires to have SAR 2 million available at the end of a 10-
year period by investing annually into an account that gives an interest of 6.125%. Find the
amount the enterprise has to invest annually.
3 Use the program developed in (1) to verify the manual computations conducted in (2).
Solution
1. For the solution of Example 6.19 (1), see the listing of Program 6.19.
2. Solution to Example 6.19 (2).
'*********************************************************************************
'Program 6.19: Calculates necessary funds to reach a certain value
'*********************************************************************************
Public Class Form1
Dim i, X, n, Y As Double
Dim SFF As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 6.19: Funds"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Calculates necessary funds to reach a certain value"
Label2.Text = "Interest rate (%):"
Label3.Text = "Total number of years:"
Label4.Text = "Target value at the end of investment period (SAR):"
Label5.Text = ""
Label6.Text = "Decimals:"
Button1.Text = "&Calculate"
NumericUpDown1.Value = 2
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
End Sub
Sub calculateResults()
i = Val(TextBox1.Text)
n = Val(TextBox2.Text)
X = Val(TextBox3.Text)
i /= 100
SFF = i / (((1 + i) ^ n) - 1)
Y = SFF * X
End Sub
Sub showResults()
Dim decimals As Integer = NumericUpDown1.Value
If decimals < 0 Or decimals > 10 Then decimals = 2
Label5.Text = "Sinking fund factor (SFF) at " + n.ToString + " years is "
+ FormatNumber(SFF, decimals) Label5.Text += vbCrLf + "The required annual
investment, Y = " + FormatNumber(SFF, decimals) Label5.Text += " * " +
Format(X, "n") + " = SAR " + FormatNumber(Y, decimals)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
showResults()
End Sub
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles NumericUpDown1.ValueChanged showResults()
End Sub
End Class
TABLE 6.5
Summary of Selected Compounding Factors
Factor Abbreviation Equation Use Examples
Compound CA
amount
Capital CRF Pays loan back in a number of equal installments.
recovery Converts a present value into a stream of equal
factor annual payments over a specified time.
Present PWF How much to be invested right now?
worth
factor
Sinking SFF Saves money by investing it so that at some later When landfill owner must invest money during the
fund date some specified sum active life of landfill so that, when landfill is full, there
factor would be available. are sufficient funds to place final cover.
The capital recovery factor, present worth factor, and sinking fund factor need not be computed,
because they can be found in interest tables or are programmed into hand-held calculators or computer
software. Table 6.6 shows these capital recovery factors for an interest rate of 6.125%.
TABLE 6.6
Capital Recovery Factors for an Interest Rate of 6.125%
Year CRF PWF SFF
1 1.06,125 0.942,285,041 1
2 0.546,392,511 1.83,018,614 0.485,142,511
3 0.374,975,336 2.666,842,064 0.313,725,336
4 0.289,417,974 3.455,210,425 0.228,167,974
5 0.238,204,237 4.198,078,139 0.176,954,237
6 0.204,161,994 4.898,071,274 0.142,911,994
7 0.179,931,702 5.557,664,333 0.118,681,702
8 0.161,833,535 6.179,189,007 0.100,583,535
9 0.147,823,104 6.764,842,409 0.086,573,104
10 0.136,673,733 7.31,669,485 0.075,423,733
11 0.127,604,778 7.836,697,149 0.066,354,778
12 0.120,095,776 8.326,687,537 0.058,845,776
13 0.113,786,379 8.788,398,151 0.052,536,379
14 0.10,841,917 9.223,461,155 0.04,716,917
15 0.103,805,354 9.633,414,516 0.042,555,354
16 0.099,803,313 10.01,970,744 0.038,553,313
17 0.096,304,735 10.38,370,548 0.035,054,735
18 0.093,225,356 10.72,669,538 0.031,975,356
19 0.090,498,641 11.04,988,964 0.029,248,641
20 0.088,071,346 11.35,443,076 0.026,821,346
Key:
6.8.4 TOTAL COST
Total cost to the community is the sum of the annual payback of the capital costs (fixed costs) of the
investments and the labor and raw materials costs and operating and maintenance costs (variable costs).
Example 6.20
1. Write a short computer program that enables calculating the total cost that a refuse collection
truck costs the municipality every year, given the truck expected life, the truck cost, annual
installments interest rate, and annual operation cost of the truck.
2. A municipality wants to purchase a refuse collection truck that has an expected life of 10
years and costs SAR 600,000. The municipality preferred to pay back the loan in 10 annual
installments at an interest rate of 6.125%. The annual operation cost of the truck (gas, oil,
service, and regular maintenance) amounts to SAR 80,000. How much will this truck cost
the municipality every year?
3 Use the program developed in (1) to verify the manual computations conducted in (2).
Solution
1. For the solution of Example 6.20 (1), see the listing of Program 6.20.
2. Solution to Example 6.20 (2).
a. Given: n = 10 years, X = SAR 600,000, i = 6.125%. truck operating cost = SAR 80,000/year.
b. From Table 6.6, the CRF for n = 10 is 0.13667.
c So the annual cost of the capital investment is y = CRF*X = 0.13667 * SAR 600,000, or Y =
SAR 82,002.
d Total annual cost to the community = operating cost + annual investment = SAR 82,002 + SAR
80,000 or total cost = SAR 160,002.
'*********************************************************************************
'Program 6.20: Calculates refuse collection truck's costs
'*********************************************************************************
Public Class Form1
Dim i, X, n, Y, cost As Double
Dim CRF, total As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Program 6.20: Truck costs"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Calculates refuse collection truck's costs"
Label2.Text = "Expected life of collection truck:"
Label3.Text = "Truck cost (SAR):"
Label4.Text = "Annual installments interest rate (%):"
Label5.Text = "Truck operating cost:"
Label6.Text = ""
Label7.Text = "Decimals:"
Button1.Text = "&Calculate"
NumericUpDown1.Value = 2
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
End Sub
Sub calculateResults()
n = Val(TextBox1.Text)
X = Val(TextBox2.Text)
i = Val(TextBox3.Text)
cost = Val(TextBox4.Text)
i /= 100
CRF = (i * ((1 + i) ^ n)) / (((1 + i) ^ n) - 1)
Y = CRF * X
total = Y + cost
End Sub
Sub showResults()
Dim decimals As Integer = NumericUpDown1.Value
If decimals < 0 Or decimals > 10 Then decimals = 2
Label6.Text = "Capital recovery factor (CRF) for " + n.ToString + " years
is " + FormatNumber(CRF, decimals) Label6.Text += vbCrLf + "The required
annual investment, Y = " + FormatNumber(CRF, decimals) Label6.Text += " * " +
Format(X, "n") + " = SAR " + FormatNumber(Y, decimals)
Label6.Text += vbCrLf + "The annual cost = " + FormatNumber(cost,
decimals)
Label6.Text += " + " + FormatNumber(Y, decimals) + " = SAR " +
FormatNumber(total, decimals) End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
showResults()
End Sub
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles NumericUpDown1.ValueChanged showResults()
End Sub
End Class
14.Rearrange group (I) with the corresponding relative ones of group (II) in the area allocated for
the answer.
Group (I) Rearranged Group (II) Group (II)
Recyclables Food waste
Refrigerators Hospitals
Bulky refuse Refineries
Yard waste Chemical and biological processes
Biomaterials Rubble and remnants of buildings
Sweeping Diverted refuse
Commercial waste Rest and stability
Municipal waste ASTM Standard
Industrial refuse Geotechnical engineering
Agriculture waste Generated by households
Hazardous waste Newspapers
Construction and demolition Quartering and coning
Refuse Production of gas
Dry weight moisture Thrown by users
Waste sampling Livestock farms
Representative samples Green waste
Not collected waste Furniture
Organic materials Warehouse waste
Angle of repose White waste
8. Compare between the different phases of MSW collection within a community as per the
following table: Table of Different Phases of MSW Collection within a Community
Stage or phase Description Location Responsible Body Limitations
Phase 1: House-to-can
Phase 2: Can-to-truck
Phase 3: Truck from house-to-house
Phase 4: Truck routing
Phase 5: Truck-to-disposal
4. True/false: Indicate whether the following statements are true (T) or false (F). In each case,
justify your answer.
a. One of the goals of studying solid and hazardous waste management is transforming domestic and
b. industrial waste into usable materials that people may reuse. () Absence of good sanitation in work
areas, dump sites, and waste dumps is one of the main reasons for occurrence of risks and disease.
c () Ill management of waste deteriorates community public health as well as its environmental
d impact and pollution of water, air, and soil. () Sensory imbalance between workers may affect
e negatively their health. () Community opposition to landfill siting, which has exaggerated the
f problem of diminishing refuse disposal capacity, is known as NIMBY. () A transfer station is a site
g where solid waste is concentrated before it is taken to a processing facility or a sanitary landfill. ()
h Adawha district in Dhahran serves ~80% of its population with a curbside recyclables program. ()
i Recycling is the best approach to solid waste management. () Reusing plastic water bottles is an
j example of waste recovery. () Controlled tipping is so called because only a limited quantity of
k waste can be tipped at any one time. () Packaging can sometimes reduce overall wastes. ()
l Minimizing waste generated by the society and converting it into a resource is the essence of the
m zero waste concept. () MSW defines a heterogeneous mixture of refuse, C&D waste, leaves, and
n bulky items. () It is difficult to quantify hazardous waste due to lack of real statistics, and perhaps
o hiding it from producers. This calls for sudden visits and regular monitoring. () Factors that affect
the quality and quantity of waste produced include standards, laws and legislation in force, living
p conditions, urbanization in the region, and social and economic factors. () Low-income areas
q generate less waste but with higher proportion of food. () Properties of solid waste affect the
design of collection systems, treatment and disposal, operation, management, and performance of
5. units. () MCQs
ia. Determine the hazardous solid waste among the following: Agricultural waste
ii Chemical waste
iii Hospital waste
iv Agricultural and hospital waste
v Chemical and hospital waste
b. Choose .. levels that can be paid by the beneficiary.
i Cost
ii Dust
iii Leachate
iv Odor
v Organic matter
c Unpleasant and undesirable resulting from bacterial decomposition of organic
materials of components of the waste ought to be avoided.
i Diseases
ii Explosive gases
iii Odors
iv Toxic materials
v Unregulated waste
d Secure landfills require all but one of the following:
i A leachate collection system
ii Financial guarantees for postclosure activities
iii Groundwater monitoring
iv Single liners
ei Landfills have historically been the sources of all but one of the following: Breeding grounds for
insects and rodents
ii Odor
iii Pollution to groundwater
iv Producers of propane gas
fi An acronym* that indicates peoples desire to locate landfills away from their communities is
MRF
ii NIMBY
iii NIMTOO
iv NOPE**
v PAYT
g Biomedical waste may be disposed of by?
i Autoclaving
ii Incineration
iii Land filling
iv Both (ii) and (iii)
h Which of the following is a biodegradable organic chemical/substance?
i Garbage
ii Oils
iii Pesticides
iv Plastics
i Which of the following is a practice used to reduce and manage MSW?
i Waste combustion
ii Source reduction
iii Recycling of materials
iv All of the above
j Which of the following is not a material in MSW?
i Agricultural wastes
ii Food wastes
iii Glass and plastics
iv Wood wastes
k Which of the following is not a source reduction activity?
i Products package reuse
ii Reducing use by modifying practices
iii Saving energy by using recycled materials
l Package or product design that reduces material or toxicity Facilities that perform the function of
iv
preparing recyclables for marketing are referred to as ________________________________.
i WTEs (waste-to-energy)
ii RDFs (refuse-derived fuel)
iii TSDs (treatment, storage, and disposal)
iv MRFs (materials recovery facility)
i Which hierarchy is correct for the principle of waste generation Reuse-reduce-recycle-recover-
m
resource management
ii Reduce-reuse-recycle-recover-resource management
iii Reduce-recover-recycle-reuse-resource management
iv Reduce-recycle-recover-reuse-resource management
6. Complete missing titles by using the following words and phrases (flooding, providers, odors,
a. moisture. syringes) Garbage piles up on roads, streets, and parks producing foul
..
b. Bodies that deal with solid waste and garbage include: citizens on a daily basis, . of
waste collection services, scavengers and those working on reuse.
c Accumulation of waste in drainage networks and waterways increases the risk of
and contamination of water resources.
d Types of hazardous solid waste include linens, clothing, bandages and disposable, .,
needles, surgical equipment and medical devices disposed off, food and contaminated waste, and
flammable materials.
e Common contaminants of waste items include , food, and dirt.
The recyclables are collected separately and processed at an MRF. The mixed household waste and the
commercial waste go to the landfill, as do the leaves and miscellaneous solid wastes. The sludges are
dried and applied on land (not into the landfill), and the C&D wastes are used to fill a large ravine.
Calculate the diversion.
2.. a. Write a computer program to find the approximate chemical formula and energy content of
organic component of a certain solid waste, given its composition and fractions.
b. Verify your program by finding an approximate chemical formula of the organic component of the
sample composition of a solid waste as set out in the following table. Use chemical composition obtained
to estimate energy content of this solid waste.
Component Percentage by Mass
Garden trimmings 13
Food waste 20
Timber 7
Paper 33
Cardboard 12
Rubber 8
Tin cans 7
Total sum 100
Assume the total organic composition of the solid waste assuming a mass of 100 kg of the sample as
shown in the following table (b):
Component Mass (kg)
Carbon 35
Hydrogen 5
Oxygen 28
Nitrogen 0.5
Sulfur 0.1
Ash 5
3. a. Write a computer program to find the heat value of a certain solid waste, given its fractions
on a dry basis.
b. Verify your program by estimating the heat value of a processed refuse-derived fuel having the
following composition:
Component Fraction by Weight, Dry Basis
Paper 0.25
Food waste 0.25
Plastics 0.3
Glass 0.2
4. a. Write a computer program to find the comparable, moisture-free Btu and the moisture- and
ash-free heat value for a sample of refuse, given its water content, Btu of the entire mixture,
weight of sample, and ash remaining after combustion.
b. Verify your program for a sample of refuse is analyzed and found to contain 15% water (measured as
weight loss on evaporation). The Btu of the entire mixture is measured in a calorimeter and is found to be
6000 Btu/lb. A 1.0 g sample is placed in the calorimeter, and 0.3 g ash remains in the sample cup after
combustion. What is the comparable, moisture-free Btu, and the moisture- and ash-free heat value?
6.9.2.3 Solid Waste Collection
a.1. Write a short computer program to determine the number of customers served by a truck, given
each household production of refuse per week, truck capacity, and compaction density.
b. Verify your program by assuming that each household produces 50 lb of refuse per week (as in
Problem 2). How many customers can a 20-yd3 truck that compacts the refuse to 580 lb/yd3 collect
before it has to make a trip to the landfill?
2..
a. Write a computer program that allows computation of customers that can be served by a truck if it
did not have to go to the landfill, given the number of crew, the time required per stop, and the
number of customers to be served.
b. Suppose a crew of two people, requires 3 min/stop, at which they can service 4 customers. If each
customer generates 55 lb of refuse per week, how many customers can they service if they did not
have to go to the landfill?
a. Write a computer program that enables the estimation the percolation of water through a landfill,
given its depth, thickness of soil cover, population, R, E, soil field capacity, and refuse field
capacity as packed.
b. Verify your program by estimating the percolation of water through a landfill 12 m deep (h), with a
i 1.1 m cover of sandy loam soil (d). Use the following data: Precipitation (P) = 1000 mm/yr
ii Runoff coefficient (R) = 0.14
iii Evaporation (E) = 580 mm/yr
iv Soil field capacity, Fs = 210 mm/m
v Refuse field capacity, Fr = 320 mm/m, as packed.
3.
a. Write a computer program that allows the determination of maximum design depth above lining,
given the distance between leachate collection tubes, rain water from 25 years, and a 24-h storm
entering the leachate drainage system, design storm (vertical flow), hydraulic conductivity, and the
slope of discharge.
b. Verify your program by finding the maximum design depth above lining noting that the distance
between leachate collection tubes is 10 m. Using a coarse discharge material and assuming that
rainwater from 25 years and a storm entering the leachate drainage system, design storm (vertical
flow) = 0.017 cm/min, and hydraulic conductivity 0.017 cm/s, and the slope of discharge 1.8%.
4.
a. Write a computer program that allows the determination of the spacing between pipes in a leachate
collection system, given design storm (25 years, 24-h), hydraulic conductivity, drainage, and the
maximum design depth on liner.
b. Verify your program by determining the spacing between pipes in a leachate collection system using
granular drainage material and the following properties. Assume that in the most conservative
design, all storm water from a 25-year, 24 h storm enters the leachate collection system.
i Design the storm (25 years, 24 h) = 8.2 in = 0.015 cm/min.
ii Hydraulic conductivity = 0.02 cm/s.
iii Drainage slope = 1.5%.
iv Maximum design depth on liner = 15 cm.
5.
a. Write a computer program that allows writing down a balanced equation for the anaerobic
decomposition of an organic compound and estimating the amount and volume produced (at STP)*
of CO2 and CH4 during the anaerobic decomposition of this compound.
b. Verify your program by writing down a balanced equation for the anaerobic decomposition of a
MSW, given its chemical formula. Estimate the production of CO2 and CH4 during the anaerobic
decomposition of MSW using the chemical composition approximation of organic fraction of refuse
as described by C99H149O59N.
6.
a. Write a computer program that allows the determination of the amount of water or sludge that must
be added to the solids to achieve a certain moisture concentration in the compost pile, given the
weight of mixture and the required moisture content.
b. Verify whether your program for 15 tons of a mixture of paper and other compostable materials has
a moisture content of 8%. The intent is to make a mixture for composting of 50% moisture. How
many tons of water or sludge must be added to the solids to achieve this moisture concentration in
the compost pile?
7.
a. Write a computer program that allows the determination of the efficiency of a certain power plant,
given the amount of coal used per day, and the energy value of the coal and plant production of
electricity each day.
b. Verify whether your program for a coal-fired power plant uses 850 Mg of coal per day. The energy
value of the coal is 28,000 kJ/kg. The plant produces 3.4 106 kWh of electricity each day. What
is the efficiency of the power plant?
8.
a. Write a computer program that allows the determination of the temperature at which ash exits the
combustion chamber (in both C and F) of a refractory combustion unit lined with no water wall
and no heat recovery burning an RDF, given RDF organics, water, and inorganics or inerts, and
their hourly rate, heat value of the fuel, air flow, heat loss due to radiation, amount of fuel remaining
uncombusted in the ash, specific heat of ash, specific heat of air, latent heat of vaporization, and
temperature of the stack gases.
b. Verify your program for a refractory combustion unit lined with no water wall and no heat recovery
is burning RDF consisting of 85% organics, 10% water, and 5% inorganics or inerts at a rate of
950 kg/h. Determine the temperature, T, at which ash exits the combustion chamber (in both C and
i F), assuming the following: Heat value of the fuel = 18,500 kJ/kg on a moisture-free basis.
ii Air flow = 8,700 kg/h and that the under and overfire air contributes negligible heat.
iii 5% of the heat input is lost due to radiation.
iv 15% of the fuel remains uncombusted in the ash.
v Specific heat of ash = 0.837 kJ/kg/oC.
vi Specific heat of air is 1.0 kJ/kg/oC.
vii Latent heat of vaporization = 2575 kJ/kg.
viii Temperature of the stack gases = 1500C.
a. Write a computer program that allows the determination of the rate of interest if a certain
municipality chooses to purchase a refuse collection truck, given its expected life, value of SAR,
and annual payments.
b. Verify whether your program for a municipality chooses to purchase a refuse collection truck that
has an expected life of 15 years for the value of SAR 700,000. The cost of the truck is to be
borrowed from the local bank and to be paid back in 10 annual payments, given that the annual
installments on this capital expense are SAR 68,000. Find the rate of interest.
REFERENCES
Abdel-Magid, I.M. 2012. Problem Solving in Solid Waste Engineering. Dammam, KSA: University of Dammam.
Abdel-Magid, I. M., and Abdel-Magid, M. I. M. 2015a. Problem Solving in Solid Waste Engineering, 2nd ed. North Charleston, SC: Create
Space Independent Publishing Platform.
Abdel-Magid, I. M., and Abdel-Magid, M.I.M. 2015b. Solid Waste Engineering and Management. North Charleston, SC: CreateSpace
Independent Publishing Platform (In Arabic).
Abdel-Magid, I. M., Hago, A., and Rowe, D. R. 1995. Modeling Methods for Environmental Engineers. Boca Raton, FL: CRC
Press/Lewis Publishers.
Blackman, W. C. 2001. Basic Hazardous Waste Management, 3rd ed. Boca Raton, FL: CRC Press.
CEHA. 1995. Solid waste management in some countries of the Eastern Mediterranean region. CEHA Document No., Special studies, ss-4.
Amman, Jordan: WHO, Eastern Mediterranean Regional Office, Regional Centre for Environmental Health Activities.
de Bertoldi, M. (Ed.). 1996. The Science of Composting London, UK: Blackie Academic & Professional.
Nakamura, M., Castaldi, M. J., and Themelis, N. J. 2005. Measurement of particle size and shape of New York city municipal solid waste and
combustion residues using image analysis. http://www.seas.columbia.edu/earth/wtert/sofos/Nakamura_JSMWE_2005.pdf (accessed on
March 21, 2016).
Ojovan, M. I. (Ed.). 2011. Handbook of Advanced Radioactive Waste Conditioning Technologies. Cambridge: Woodhead Publishing Ltd.
Rietema, K. 1957. On the efficiency in separating mixtures of two components. Chemical Engineering Science, 7:8996.
Rodic-wiersma, L. 2005. Introduction to solid waste management and engineering. Refresher Course on Solid Waste Management and
Engineering, Organized by UNESCO-IHE Institute for Water Education, Delft, the Netherlands, October 1622, Mombasa, Kenya.
Schubeler, P., Wehrle, K., and Christen, J. 1996. Conceptual framework for municipal solid waste management in low-income countries. Urban
Management and Infrastructure, UNDP, UNCHS (Habitat), World Bank, SDC Collaborative Program on Municipal Solid Waste
Management in Low-Income Countries, August 1996, Working Paper No. 9, SKAT (Swiss Centre for Development Cooperation in
Technology and Management), Gallen, Switzerland.
Senate, E., Galtier, L., Bekaert, C., Lambolez-Michel, L., and Budka, A. 2003. Odor management at MSW landfill sites: Odor sources, odorous
compounds and control measures. Proceedings Sardinia, Ninth International Waste Management and Landfill Symposium, S.
Marghorita di Pula, Cagliari, Italy, October 610.
von Blottnitz, H., Pehlken, A., and Pretz, T. 2002. The description of solid wastes by particle mass instead of particle size distributions. Resour,
Conserv and Recy J, 34:193207.
Walsh, P. and OLeary, P. 1986. Implementing Municipal Solid Waste to Energy Systems. Madison, WI: University of WisconsinExtension
for Great Lakes Regional Biogas Energy Program.
Worrell, W. A., and Vesilind, P. A. 2012. Solid Waste Engineering. Stamford, CT: CL-Engineering Pub.
* Trammel: A hollow cylindrical screen. Usually, it is a horizontal perforated rotating cylinder used to break open trash bags, large particles
of glass, and small abrasive items (e.g., stones, dirt, etc.).
* i ton = 2000 lb or 1000 kg.
* 1 Btu = heat necessary to raise the temperature of 1 lb of water 1F.
(Btu/1b) 2.326 = kJ/kg.
* This model can be downloaded at http://www.epa.gov/ttn/catc/products.html#software.
* Mesophiles live in medium temperature ranging from 25C to 45C.
Thermophiles are microorganisms that live at high temperatures, >45C.
* Refuse Derived Fuel (RDF) refers to shredded waste as combined with fuel.
* A qualified solid waste disposal process may employ any biological, engineering, industrial, or technological method. Eligible types of solid
waste disposal processes include a final disposal process, an energy conversion process, and a recycling process. A final disposal process
is the placement of solid waste in a landfill, the incineration of solid waste without capturing any useful energy, or the containment of solid
waste with a reasonable expectation that the containment will continue indefinitely and that the solid waste has no current or future
beneficial use. Energy conversion process encompasses a thermal, chemical, or other process that is applied to solid waste to create and
capture synthesis gas, heat, hot water, steam, or other useful energy. The energy conversion process ends before any transfer or
distribution of synthesis gas, heat, hot water, steam, or other useful energy. Recycling process regards a process reconstituting,
transforming, or otherwise processing solid waste into a useful product
(http://www.squiresanders.com/tax_exempt_financing_of_solid_waste_disposal_facilities/).
* United States dollar, US$ 3.8 Saudi Arabia Riyal, SAR.
* Acronym is an abbreviation formed from the initial letters of other words and pronounced as a word.
MRF (or Recycling or Factory) Not in My Back Yard.
Not in My Term of Office.
Not on Planet Earth Pay As You Throw Adapted from http://www.shareyouressays.com/114076/33-objective-type-questions-mcqs-with-
**
answers-on-environmental-pollution.
Adapted from http://www.shareyouressays.com/114076/33-objective-type-questions-mcqs-with-answers-on-environmental-pollution.
* STP is used for expression of the properties and processes of ideal gases. The standard temperature is the freezing point of water and the
standard pressure is one standard atmosphere. Standard temperature: 0C = 273.15 K; standard pressure = 1 atmosphere = 760 mmHg =
101.3 kPa; standard volume of 1 mole of an ideal gas at STP: 22.4 L.
Megagrams, or 1000 kg, commonly called a metric ton.
1 kWh = 3.6106 J.
7 Computer Modeling Applications for Air Pollution Control Technology
The introduction to this chapter presents a brief overview of the air pollution field. This chapter deals
with fundamental concepts that are needed to make calculations dealing with air pollution control.
Computer programs based on mathematical equations and models relating to these fundamental concepts
are also included here. The most commonly used air pollution control devices for gaseous and particulate
pollutants are presented such as absorption, adsorption, and combustion for gaseous contaminants and
settling chambers; cyclones; electrostatic precipitators (ESPs); venture scrubbers; and baghouse filters for
controlling particulate emissions. Each control device or technique is accompanied by a computer
program that can aid in the design or evaluation of air pollution control equipment.
This section concludes with mathematical models that can be used for determining effective stack
heights (plume rise) as well as dispersion models that can help estimate the concentrations of air
pollutants dispersed in the atmosphere. Computer programs for both stack height calculations and
dispersion models are included.
7.1 INTRODUCTION
The first step in directing compliance and enforcement of air pollution control laws and regulations is to
have a credible and acceptable definition as to what air pollution is. In the United States, the Code of
Federal Regulations (40 CFR 52.741, July 1, 1994) indicates that air pollution means the presence of one
or more contaminants in sufficient quantities and of such characteristics and duration as to be injurious to
human, plant, or animal life; to health; or to property, or to unreasonably interfere with the enjoyment of
life or property (Fed. Regist. 1994). All environmental regulations in the United States can be found in
CFR Part 40.
Ambient (outdoor) unpolluted dry air consists by volume of ~78% nitrogen (N2), 21% oxygen (O2),
0.93% argon (Ar), 0.03% carbon dioxide (CO2), and traces of other gases such as neon (Ne), helium
(He), methane (CH4), and krypton (Kr). The unpolluted dry air described previously exists only in theory;
all air contains natural contaminants such as pollen, fungi, spores, smoke, and dust particles from forest
fires and volcanic eruptions. In contrast to natural air, pollutants are contaminants of an anthropogenic
(manmade) origin.
Anthropogenic sources include transportation (mobile sources), fuel combustion from electric utilities,
fuel combustion from other sources, industrial processes, waste disposal and recycling, and
miscellaneous sources such as open burning, agricultural burning, and recreation. The two basic physical
forms of air pollutants are particulate matter (PM) and gases. PM includes small solid or liquid particles
such as dust, smoke, mists, and fly ash. Gases include substances such as carbon monoxide, sulfur
dioxide, and volatile organic compounds (VOCs).
In the United States, the Environmental Protection Agency (EPA) has further classified air pollutants as
criteria pollutants and noncriteria pollutants. Criteria pollutants are pollutants that have been identified as
being both common and detrimental to human health and welfare. The EPA currently designates six
pollutants as criteria pollutants (Air Pollution Training Institute 1992): Carbon monoxide (CO)
Ozone (O3)
Sulfur dioxide (SO2)
PM <10 m in diameter
Nitrogen dioxide (NO2)
Lead (Pb)
The U.S. Clean Air Act Amendments established a new classification of noncriteria pollutants called
hazardous air pollutants (HAPs). This act listed 189 compounds as HAPs and directed the EPA to
investigate possible regulation of sources emitting these pollutants (EPA 2014).
For each criteria pollutant, the EPA was required to set both a primary standard and a secondary
standard. The purpose of the primary standard is to protect public health, whereas secondary standards
are set at a level to protect public welfare from any adverse effects. The primary and secondary standards
for each of the criteria pollutants are shown in Table 7.1. Collectively, these standards are the National
Ambient Air Quality Standards (NAAQS) (Air Pollution Training Institute 1992, U.S. Environmental
Protection Agency 2014).
For comparison, Table 7.2 presents air quality standards for other countries in the world, indicating the
standard in micrograms per cubic meter (g/m3) and the averaging time. Table 7.3 presents the total air
pollutant emissions (million tons per year) for the six major air pollutants in the United States for 1993
(Council on Environmental Quality 1993). Of these pollutants, transportation produced ~77% of the total
carbon monoxide, 36% of the VOCs, 44% of the oxides of nitrogen, 22% of the PM10 particulates, 3% of
the oxides of sulfur, and 32% of the lead. Transportation was responsible for 56% by weight of all the
major contaminants emitted to the atmosphere in the United States in 1993 (Council on Environmental
Quality 1993).
As mentioned earlier, air pollutants can be divided into two classes, gaseous and particulate, and they
generally require different prevention and control methods. The broad prevention methods to control air
pollution emissions for both gaseous and particulates include the following (Air Pollution Training
Institute 1992): TABLE 7.1
National Ambient Air Quality Standards
Primary (Health-Related) Standard Level Secondary (Welfare-Related) Standard Level
Pollutant Averaging Time Concentration Averaging Time Concentration
Particle pollution: 24 h (not to be exceeded more than once per year on 150 g/m3 Same as primary Same as
PM 10 m average over 3 years) primary
PM 2.5 m 24 h (98th percentile, averaged > 3 years) 35 g/m 3 Same as primary Same as
primary
SO2 1 h (99th percentile of 1 h daily maximum 75 ppb 3 h (not to be exceeded more than 0.5 ppm
concentrations, averaged > 3 years) once per year)
CO 8 h 3
10,000 g/m (9 No secondary standard No secondary
ppm) standard
1 h 40,000 g/m3 No secondary standard No secondary
(35 ppm) standard
NO2 Annual mean, 1 year 53 ppb Same as primary Same as
primary
1 h (98th percentile of 1 h daily maximum 100 ppb No secondary standard No secondary
concentrations, averaged > 3 years) standard
O3 8 h (Annual fourth highest daily maximum 8 h 0.070 ppm Same as primary Same as
concentration, averaged > 3 years) primary
Pb Rolling 3-month period 0.15 g/m3 Same as primary Same as
primary
Source: NAAQS, Air Pollution Training Institute 1992; Environmental Protection Agency, EPA. 2016. National Ambient Air Quality
Standards (NAAQS). https://www3.epa.gov/ttn/naaqs/criteria.html.
TABLE 7.2
Air Quality Standards for Selected Pollutants in Several Countries (g/m3)
Country Suspended Particulate Sulfur Oxide Carbon Monoxide Nitrogen Oxide
Canada 120/24 h 450/1 h 15,000/1 year 400/1 h
6070/1 year 150/24 h 6000/8 h 200/24 h
3060/1 year 60100/1 year
Japan 200/1 h 300/1 h 11,100/8 h 100/24 h
100/24 h 120/24 h
Russia 150/24 h 157/24 h 5723/8 h 113/24 h
1145/24 h
Saudi Arabia 340/24 h 800/1 h 40,000/1 h 660/1 h
80/1 year 400/24 h 10,000/8 h 100/1 year
85/1 year
West Germany 480/1/2 h 500/1/2 h 40,000/1 h 1,000/1/2 h
10,000/8 h
Process change
Changes in fuel
Good operating practices
Plant shutdowns
The basic principles involved in the control of gas emissions include the following: Combustion
Adsorption
Absorption
Condensation
The most commonly used devices to control particulate emissions include the following: Settling
chambers
Cyclonics
Electrostatic precipitation
Venture scrubber
Baghouse filters
Pollution control efforts utilizing these various principles and techniques have reduced the air pollution
emissions of sulfur dioxide by 30% from 1970 to 1993; carbon monoxide by 18%, and VOCs by 20%.
The PM10 particulate emissions from 1985 to 1993 were reduced 10%; however, from 1970 to 1993,
nitrogen emissions have increased ~11%. One of the greatest environmental success stories has been the
reduction of lead in the ambient air. From 1984 to 1993, lead concentrations at 204 sampling sites in the
United States have shown an 89% reduction (Council on Environmental Quality 1993). Although there
have been gains made in controlling air pollution, it must be remembered that some of these gains have
been offset by an increase in all activities, especially motor vehicle registration and miles traveled.
TABLE 7.3
Sources of Air Pollutants in the United States, 1993a
Source: Council on Environmental Quality, 24th Annual Report of the Council on Environmental Quality, Washington, D.C, 1993.
a
In million short tons (2000). (See Council on Environmental Quality 1993.) b PM10 includes only those particles with aerodynamic diameter
<10 m (see Council on Environmental Quality 1993).
c VOCs, volatile organic compounds (see Council on Environmental Quality 1993).
In the past, identification and characterization of exposure of people to pollutants in the outdoor air
have been emphasized. In recent years, attention has been directed at the effects of exposure to indoor air.
Most people spend 80%90% of their time indoors, and it has been shown that exposure to some
pollutants can be 25 times higher indoors than outdoors (Air Pollution Training Institute 1992). Some of
these indoor pollutants include carbon monoxide (CO), nitrogen oxides (NOx), sulfur dioxides (SOx), PM,
asbestos, formaldehyde (HCHO), ozone, and radon gas (Ra-222). Some of the sources for these indoor
air pollutants include emissions from combustion appliances, tobacco smoke, aerosol propellants, plastic
furniture, rugs and curtains, refrigerants, paints, cleaners, and building materials. The broad measures that
can be used to reduce exposure to indoor air pollution are careful selection and operation of household
appliances, proper building design (selection of materials and construction), and, of course, proper
ventilation.
Although more attention is being paid to indoor air pollution on a regional, a continental, and a global
basis, some of the major air pollution problems include the following (Peavey et al. 1985): Global
warming (greenhouse effect due to carbon dioxide [CO2] emissions) Acid rain (sulfur dioxide, SO2,
and nitrogen oxides, NOx, transformed into acids in the atmosphere) Ozone layer depletion (increased
ultraviolet radiation exposure caused by depletion of the ozone layer due to reaction with chlorine
released by fluorocarbons emitted to the atmosphere) 7.2 FUNDAMENTAL CONCEPTS IN AIR
POLLUTION
(7.1)
For instance,
TABLE 7.4
EPA Recommended Units of Measurement
Parameter Unit Recommended
Particle fallout Milligrams/square centimeter/month (or year): mg/cm2 /month (or yr)
Outdoor airborne PM Micrograms/cubic meter: g/m3
Gaseous materials g/m3 or parts per million (ppm)
Standard conditions for reporting gas volumes 760 mmHg (1 atm) 25C (STP)
Particle counting Number of particles/m3 of gas
Temperature C
Pressure mmHg (atm)
Sampling rate m3 /min or L/min
Visibility Kilometers (km)
Source: Air Pollution Training Institute, Atmosphere Sampling, (S1:435), Research Triangle Park, NC, U.S. Environmental Protection
Agency, 1983.
STP, standard temperature and pressure.
Example 7.1
1. Prepare a computer program relating the various elements in Equation 7.1 to convert ppm to
g/m3 or vice versa for gaseous air contaminants.
2. Using the computer program developed in (1), determine the concentration of SO2 in g/m3
when it has been reported to be 0.14 ppm by volume at STP.
Solution
1. For solution to Example 7.1 (1), see the listing of Program 7.1.
2. Solution to Example 7.1 (2):
LISTING OF PROGRAM 7.1 (CHAP7.1\FORM1.VB): CONCENTRATION
OF GASEOUS AIR CONTAMINANTS
'********************************************************
'Example 7.1: Relating elements of equation 7-1: ' Converts PPM to
micrograms/m{3}
'********************************************************
Public Class Form1
Dim ppm, MolWgt, lMole, Ugmol, ugm As Double
Sub calculateResults()
Select Case ListBox1.SelectedIndex
Case 0
ppm = Val(TextBox1.Text)
MolWgt = Val(TextBox2.Text)
lMole = Val(TextBox3.Text)
Ugmol = (ppm * MolWgt) / lMole * 1000
Label6.Text = "micrograms/cubic meter = " + FormatNumber(Ugmol, 2)
Case 1
ugm = Val(TextBox1.Text)
lMole = Val(TextBox2.Text)
MolWgt = Val(TextBox3.Text)
ppm = (ugm * lMole / MolWgt) * 0.001
Label6.Text = "parts per million = " + FormatNumber(ppm, 2)
End Select
End Sub
Example 7.2
Using the computer program developed in Example 7.1 (1), convert 9.0 ppm CO to g/m3 at 0C (273
K), 1 atm, and at STP.
Solution
At 0C (273 K) and 1 atm:
Also, for example, 1 mole of carbon-12 contains 6.02 1023 carbon atoms. In mathematical terms, the
number of moles of a gas can be expressed as
(7.2)
where:
n is the number of moles of a gas
m is the mass of the gas, g
MW is the molecular weight of the gas, g-mol
In a gaseous mixture, the mole fraction for each gas is the ratio of the moles of the given gas divided by
the total number of moles of all gases present in the mixture, or
(7.3)
where:
X is the mole fraction for each gas present in the gaseous mixture
n is the moles of each gas present in the gaseous mixture
ni = n1 + n2 + + ni is the total number of moles present in the gaseous mixture
Example 7.3
A gaseous mixture contains 4 g O2, 10 g N2, 1 g CO, and 5 g CO2. Determine the moles present for each
gas, as well as the mole fraction for each gas. The total number of moles present and the mole fraction for
each gas can be determined as follows:
The mole fraction has no dimensions and no units, and the sum of the mole fractions for a gas mixture
equals unity.
Example 7.4
1. Write a computer program that can be used to calculate the moles and mole fraction for each
gas present in a gaseous mixture.
Using the computer program developed in (1), determine the moles and mole fraction for
2. each of the gases present in the following mixture: 6.5 g methane (CH ), 3 g carbon dioxide
4
(CO2), 0.1 g hydrogen sulfide (H2S), 0.4 g nitrogen (N2), and 0.1 g hydrogen (H2). The total
number of moles present and the mole fraction for each gas present can be determined as
follows:
Label1.Text = "Formulas:"
ListBox1.Items.Clear()
ListBox1.Items.Add("Moles = weight/molecular weight")
ListBox1.Items.Add("Mole fraction = moles/total moles")
Label2.Text = "Type in the names, weights, and molecular weights of the
gases:"
DataGridView1.Columns.Clear()
DataGridView1.Columns.Add("nameCol", "Gas Name")
DataGridView1.Columns.Add("wgtCol", "Gas Wgt")
DataGridView1.Columns.Add("MWCol", "Gas MW")
TextBox1.Multiline = True
TextBox1.Height = 125
TextBox1.ScrollBars = ScrollBars.Vertical
TextBox1.Font = New Font(FontFamily.GenericMonospace, 9)
Button1.Text = "&Calculate"
End Sub
Sub calculateResults()
If DataGridView1.Rows.Count <= 1 Then
MsgBox("Type in at least one gas!", vbOKOnly + vbExclamation, "Prompt")
Exit Sub
End If
For i = 0 To count - 1
gas(i) = DataGridView1.Rows(i).Cells("nameCol").Value
Wgt(i) = Val(DataGridView1.Rows(i).Cells("wgtCol").Value)
MolWgt(i) = Val(DataGridView1.Rows(i).Cells("MWCol").Value)
moles(i) = Wgt(i) / MolWgt(i)
Totmoles = totmoles + moles(i)
Next
For i = 0 To count - 1
MolFrac(i) = moles(i) / totmoles
totMolFrac = totMolFrac + MolFrac(i)
Next
Dim s As String
s = "Gas Wgt MW Moles Mole Fraction"
For i = 0 To count - 1
s += vbCrLf + gas(i) + Space(8 - gas(i).Length)
s += Format(Wgt(i), "00.000 ").ToString
s += Format(MolWgt(i), "00.000 ").ToString
s += Format(moles(i), "00.000 ").ToString
s += Format(MolFrac(i), "00.000").ToString
Next
s += vbCrLf + Space(24) + "------"
s += Space(2) + "------"
s += vbCrLf + Space(24) + Format(totmoles, "00.000").ToString
s += Space(2) + Format(totMolFrac, "00.000").ToString
TextBox1.Text = s
End Sub
(7.4)
where:
P1 is the initial gas pressure, atm
V1 is the volume of gas at P1, L
P2 is the final gas pressure, atm
V2 is the volume of gas at P2, L
Example 7.5
1. Prepare a computer program relating the four elements in Boyles law (Equation 7.4).
2. Using the computer program developed in (1), determine the volume of a gas held in a 100-L
gas cylinder if the initial pressure was 35 atm and the final pressure was 10 atm, with the
temperature being held constant.
Solution
1. For solution to Example 7.5 (1), see the listing of Program 7.5.
2. Solution to Example 7.5 (2):
Sub calculateResults()
Dim V1, V2, P1, P2 As Double
Select Case ComboBox1.SelectedIndex
Case 0
'Solving for P1
V1 = Val(TextBox1.Text)
P2 = Val(TextBox2.Text)
V2 = Val(TextBox3.Text)
P1 = P2 * V2 / V1
result = P1
Case 1
'Solving for V1
P1 = Val(TextBox1.Text)
P2 = Val(TextBox2.Text)
V2 = Val(TextBox3.Text)
V1 = P2 * V2 / P1
result = V1
Case 2
'Solving for P2
P1 = Val(TextBox1.Text)
V1 = Val(TextBox2.Text)
V2 = Val(TextBox3.Text)
P2 = P1 * V1 / V2
result = P2
Case 3
'Solving for V2
P1 = Val(TextBox1.Text)
V1 = Val(TextBox2.Text)
P2 = Val(TextBox3.Text)
V2 = P1 * V1 / P2
result = V2
End Select
End Sub
Sub showResult()
Select Case ComboBox1.SelectedIndex
Case 0
Label6.Text = "Initial gas pressure, P1 = " + FormatNumber(result,
NumericUpDown1.Value) + " atm."
Case 1
Label6.Text = "Volume of gas at P1, (V1) = " + FormatNumber(result,
NumericUpDown1.Value) + " litre(s)"
Case 2
Label6.Text = "Final gas pressure, P2 = " + FormatNumber(result,
NumericUpDown1.Value) + " atm."
Case 3
Label6.Text = "Volume of gas at P2, (V2) = " + FormatNumber(result,
NumericUpDown1.Value) + " litre(s)"
End Select
End Sub
(7.5)
Combining the laws of Boyle and Charles into one expression gives the following equation 7.6:
(7.6)
where:
P1 is the initial gas pressure, atm
V1 is the volume of gas at P1, L
T1 is the initial gas temperature, K
P2 is the final gas pressure, atm
V2 is the volume of gas at P2, L
T2 is the final gas temperature, K
Example 7.6
1. Prepare a computer program relating the various elements in Equation 7.6, which combines
Boyles and Charles laws.
2. One very important use of the combined Boyles and Charles law (Equation 7.6) is to
compare an actual gas volume to its volume under a set of standard conditions. For most
applications in regard to air pollution, the standard conditions are 25C (298 K) and 1 atm
(760 mmHg). The term standard conditions for temperature and pressure is abbreviated
STP. This principal can also be extended so as to compare the actual volumetric flow rates
to the volumetric flow rates under standard conditions.
Sub calculateResults()
Dim V1, V2, P1, P2, T1, T2 As Double
Select ComboBox1.SelectedIndex
Case 0
'Solving for P1
V1 = Val(TextBox1.Text)
T1 = Val(TextBox2.Text) + 273
P2 = Val(TextBox3.Text)
V2 = Val(TextBox4.Text)
T2 = Val(TextBox5.Text) + 273
P1 = (P2 * V2 * T1) / (V1 * T2)
result = P1
Case 1
'Solving for V1
P1 = Val(TextBox1.Text)
T1 = Val(TextBox2.Text) + 273
P2 = Val(TextBox3.Text)
V2 = Val(TextBox4.Text)
T2 = Val(TextBox5.Text) + 273
V1 = (P2 * V2 * T1) / (P1 * T2)
result = V1
Case 2
'Solving for T1
P1 = Val(TextBox1.Text)
V1 = Val(TextBox2.Text)
P2 = Val(TextBox3.Text)
V2 = Val(TextBox4.Text)
T2 = Val(TextBox5.Text) + 273
T1 = (P1 * V1 * T2) / (P2 * V2)
result = T1
Case 3
'Solving for P2
P1 = Val(TextBox1.Text)
V1 = Val(TextBox2.Text)
T1 = Val(TextBox3.Text) + 273
V2 = Val(TextBox4.Text)
T2 = Val(TextBox5.Text) + 273
P2 = (P1 * V1 * T2) / (V2 * T1)
result = P2
Case 4
'Solving for V2
P1 = Val(TextBox1.Text)
V1 = Val(TextBox2.Text)
T1 = Val(TextBox3.Text) + 273
P2 = Val(TextBox4.Text)
T2 = Val(TextBox5.Text) + 273
V2 = (P1 * V1 * T2) / (P2 * T1)
result = V2
Case 5
'Solving for T2
P1 = Val(TextBox1.Text)
V1 = Val(TextBox2.Text)
T1 = Val(TextBox3.Text) + 273
P2 = Val(TextBox4.Text)
V2 = Val(TextBox5.Text)
T2 = (P2 * V2 * T1) / (P1 * V1)
result = T2
End Select
End Sub
Sub showResult()
Select Case ComboBox1.SelectedIndex
Case 0
Label8.Text = "Initial gas pressure, P1 = " + FormatNumber(result,
NumericUpDown1.Value) + " atm."
Case 1
Label8.Text = "Volume of gas at P1, (V1) = " + FormatNumber(result,
NumericUpDown1.Value) + " litre(s)"
Case 2
Label8.Text = "Initial gas temperature, T1 = " + FormatNumber(result,
NumericUpDown1.Value) + " K"
Case 3
Label8.Text = "Final gas pressure, P2 = " + FormatNumber(result,
NumericUpDown1.Value) + " atm."
Case 4
Label8.Text = "Volume of gas at P2, (V2) = " + FormatNumber(result,
NumericUpDown1.Value) + " litre(s)"
Case 5
Label8.Text = "Final gas temperature, T2 = " + FormatNumber(result,
NumericUpDown1.Value) + " K"
End Select
End Sub
Example 7.7
Using the computer program developed in Example 7.6 section (1), determine the standard volumetric
flow rate at STP for the following conditions: Actual volumetric flow rate = 6 m3/min (V2)
Actual operating temperature = 90C (T2)
Actual operating pressure = 1 atm (P2)
STP = 25C (T1) and 1 atm (P1)
Solution
Substituting in Equation 7.6:
(7.7)
where:
P is the absolute pressure, atm
V is the volume of a gas, L
T is the absolute temperature, K
n is the number of moles of a gas
R is the ideal or universal constant, (L) atm (K)1 (g-mol)1
R is chosen in order to provide appropriate units consistent with the equation used.
As indicated earlier, the number of moles of a gas, n, can be determined if the mass and molecular
weight of a gas are known:
(7.2)
where:
n is the number of moles of gas
m is the mass of gas, g
MW is the molecular weight of gas, g-mol
Also, the density of a gas can be determined by rearranging Equation 7.7 as follows:
(7.8)
where:
is the gas density, g/L
m is the mass of gas, g
V is the volume of gas, L
(7.9)
(7.10)
(7.11)
The units for this equation are the same as presented earlier.
No real gas obeys the ideal gas law exactly, although the lighter gases (hydrogen, oxygen, air, etc.)
under ambient conditions approach ideal gas law behavior. The heavier gases, such as sulfur dioxide
and hydrocarbons, particularly at high pressures and low temperatures, deviate considerably from the
ideal gas law. Despite these deviations, the ideal gas law is routinely used in air pollution calculations
(Air Pollution Training Institute 1981, 1984).
Example 7.8
Prepare computer programs for each of the equations dealing with the ideal gas law
1.
(Equations 7.7 through 7.10).
2. Using the computer program developed in (1), determine the volume occupied by 1 mole of
an ideal gas at 0C (273 K) and 1 atm pressure.
3. Using the computer program developed for Equation 7.9, calculate the pressure exerted by
38.0 g of carbon monoxide in a volume of 25 L at 500 K; assume that the ideal gas law
applies.
4. Using the computer program developed for Equation 7.9, determine the molecular weight of
a gas if 0.6 g of the gas occupies 400 mL at 25C and 760 mmHg (1 atm) (standard
conditions for temperature and pressure).
5. Using the computer program developed for Equation 7.10, determine the density of air if it
has a molecular weight of 29, and the air temperature is 93C at 1 atm of pressure.
Solution
1. For solution to Example 7.8 (1), see the listing of Program 7.8.
2. Solution to Example 7.8 (2):
(7.7)
where:
P = 1, atm
n = 1, g-mol
R = 0.08206 (L), atm (K)1 (g-mol)1
T = 0C (273 K)
V is the molar volume, L
where V = 22.4 L.
Thus, 1 mole of an ideal gas at 273 K and 1 atm occupies 22.4 L.
3. Solution to Example 7.8 (3):
(7.9)
(7.9)
(7.12)
Sub calculateResults()
Dim P, V, m, MW, T, Rho As Double
Const R As Double = 0.08206
Select Case ListBox1.SelectedIndex
Case 0
Exit Sub
Case 1
'Equation 7.9: PV = mRT/MW
Select Case ComboBox1.SelectedIndex
Case 0
'Solving for P
V = Val(TextBox1.Text)
m = Val(TextBox2.Text)
MW = Val(TextBox3.Text)
T = Val(TextBox4.Text)
P = (m * R * T) / (MW * V)
Label8.Text = "Gas pressure = " + FormatNumber(P, 2) + " atm"
Case 1
'Solving for V
P = Val(TextBox1.Text)
m = Val(TextBox2.Text)
MW = Val(TextBox3.Text)
T = Val(TextBox4.Text)
V = (m * R * T) / (MW * P)
Label8.Text = "Volume of gas = " + FormatNumber(V, 2) + " L"
Case 2
'Solving for m
P = Val(TextBox1.Text)
V = Val(TextBox2.Text)
MW = Val(TextBox3.Text)
T = Val(TextBox4.Text)
m = (P * V * MW) / (R * T)
Label8.Text = "Weight of gas = " + FormatNumber(m, 2) + " g"
Case 3
'Solving for MW
P = Val(TextBox1.Text)
V = Val(TextBox2.Text)
m = Val(TextBox3.Text)
T = Val(TextBox4.Text)
MW = (m * R * T) / (P * V)
Label8.Text = "Molecular weight of gas = " + FormatNumber(MW, 2) + "
g/g-mol"
End Select
Case 2
P = Val(TextBox1.Text)
MW = Val(TextBox2.Text)
T = Val(TextBox3.Text)
Rho = (P * MW) / (R * T)
Label8.Text = "Rho = " + FormatNumber(Rho, 2) + " g/L"
End Select
End Sub
(7.13)
where:
P is the absolute pressure, atm
V is the volume of a gas, L
n is the number of moles of gas
R is the ideal or universal gas constant, 0.08206 (L) atm (K)1 (g-mol)1
T is the absolute temperature, K
a and b are the constants determined experimentally for each gas; these constants are available in most
handbooks of chemistry (see Table 7.5) a = L2-atm/mol2
b = L/mol
TABLE 7.5
Van der Waals Constants for Some Gases
Gas a [L2 -atm/(mol)2 ] b (L/mol)
O2 1.382 0.03186
CO2 3.658 0.04286
H2 0.2453 0.02651
CH4 2.300 0.04301
N2 1.370 0.0387
NO 1.46 0.0289
Source: From Lide, D.R. and Frederikse, H.P.R., CRC Handbook of Chemistry and Physics, 76th ed., CRC Press, Boca Raton, FL,
1995/1996, pp. 648. With permission.
Example 7.9
1. Write a computer program that relates the various elements in Van der Waals equation
(Equation 7.12).
2. Using the computer program developed in section (1), determine the pressure developed by
660 g of CO2 put into an 80-L container under the conditions stated in the solutions section.
Also compare the results if the ideal gas law is used.
Solution
1. For solution to Example 7.9 (1), see the listing of Program 7.9.
2. Solution to Example 7.9 (2):
(7.14)
(7.7)
Van der Waals equation gives 6.12 atm, and the ideal gas law gives 6.20 atm. The ideal gas law gives
a pressure of 0.08 atm higher than Van der Waals equation.
Sub calculateResults()
V = Val(TextBox1.Text)
T = Val(TextBox2.Text) + 273
m = Val(TextBox3.Text)
Dim index As Integer = ComboBox1.SelectedIndex
If index = -1 Then
MsgBox("Please select a gas from the list.",
vbOKOnly Or vbInformation)
Exit Sub
End If
n = m / MW
a = a_table(index)
b = b_table(index)
Dim step1, step2 As Double
'Van der Waal equ.
step1 = (n * R * T) / (V - (n * b))
step2 = ((n ^ 2) * a) / (V ^ 2)
P1 = step1 - step2
'Ideal gas equ.
P2 = (n * R * T) / V
End Sub
Sub showResults()
Label7.Text = "By Ideal Gas Law"
Label7.Text += vbCrLf + "P = n*R*T/V"
Label7.Text += vbCrLf + "P = " + FormatNumber(P1, NumericUpDown1.Value)
Label7.Text += vbCrLf + "Van der Waals equation gives " + FormatNumber(P1,
NumericUpDown1.Value) + " atm"
Label7.Text += vbCrLf + "The ideal gas law gives " + FormatNumber(P2,
NumericUpDown1.Value) + " atm"
End Sub
(7.15)
The pressure exerted by each gas in the mixture is called its partial pressure:
(7.16)
There are two ways to express the fraction which one gaseous component contributes: either by mole
fraction (Equation 7.3) or by pressure fraction (Equation 7.16).
Example 7.10
A gas mixture contains the following components. Using Equations 7.2 and 7.3, determine the number
of moles of each gas present as well as the mole fraction for each gas (Air Pollution Training Institute
1984).
The total number of moles in this gaseous mixture is 0.7063, using the moles present for each gas and
the ideal gas law, Equation 7.7. Determine the partial pressure for each gas as well as the partial
volumes when the gas temperature is 25C, and the gas is held in a 2-L container.
Solution
For O2,
For SO2,
For SO3,
pressure for SO3 = = 0.071 atm The partial volumes for each gas can also be calculated by
using the ideal gas law, Equation 7.7.
For O2,
For SO2,
For SO3,
The partial pressure for each gas indicates the concentrations of that particular gas, and for most
purposes, the gas concentration governs the behavior of a gaseous substance regardless of the
presence of other gases in the mixture (Lide and Frederiske 1995/1996).
(7.17)
where:
Ci is the concentration of gas i dissolved in solution, mol/L
Ki is the Henry law constant, mol/L
pi is the partial pressure of the gas, atm
Table 7.6 presents Henrys law constants for some gases in water at 25C (Manahan 2009).
Example 7.11
1. Write a computer program relating the elements contained in Henrys law that will make it
possible to determine the concentration of a gas in water, provided Henrys gas constant is
given.
TABLE 7.6
Henrys Law Constants for Some Gases in Water at 25C
Gas K, mol L1 atm1
O2 1.28 103
CO2 3.38 102
H2 7.90 104
CH4 1.34 103
N2 6.48 104
NO 2.0 104
Source: Manahan, S.E., Environmental Chemistry, 9th ed, Boca Raton, FL, CRC Press, 2009.
2. Using the computer program prepared in (1), determine the solubility of oxygen in water at
25C, knowing that air contains 20.95% oxygen by volume.
Solution
1. For a solution to Example 7.11 (1), see the listing of Program 7.11.
2. In calculating the solubility of a gas in water, a correction must be made for the partial
pressure of water by subtracting it from the total pressure of the gas. At 25C, the partial
pressure of water is 0.0313 atm; values at other temperatures are readily obtained from
standard handbooks. The concentration of oxygen in water saturated with air at 1 atm (760
mmHg) and 25C (298 K) may be calculated as an example of a simple gas solubility
calculation. Considering that dry air is 20.95% by volume oxygen and factoring in the partial
pressure of water gives the following:
Because the molecular weight of oxygen is 32, the concentration of dissolved oxygen in water in
equilibrium with air under the conditions given above is 8.32 mg/L or 8.32 ppm.8
LISTING OF PROGRAM 7.11 (CHAP7.11\FORM1.VB): HENRYS LAW
'*********************************************************************************
'Example 7.11: relates the components in Henrys law
'to determine the concentration of a gas in water
'provided Henrys gas constant is given.
'*********************************************************************************
Public Class Form1
Dim gas As String
Dim k, P, MW, comp, comp2 As Double
'********************************************************************************
'See Table 7.6
'********************************************************************************
Dim k_table() As Double =
{1.28 / 1000, 3.38 / 100, 7.9 / 10000, 1.34 / 1000, 6.48 / 10000, 2.0 /
10000}
Sub calculateResults()
P = Val(TextBox1.Text)
If ComboBox1.SelectedIndex = -1 Then
MsgBox("Please select a gas from the list.",
vbOKOnly Or vbInformation)
Exit Sub
End If
k = k_table(ComboBox1.SelectedIndex)
comp = k * P * MW
comp2 = comp * 1000
End Sub
Sub showResults()
Label5.Text = "C[i] = K[i] * p[i]"
Label5.Text += vbCrLf + "C[i] = " + FormatNumber(k, NumericUpDown1.Value) +
" * "
Label5.Text += FormatNumber(P, NumericUpDown1.Value) + " * " +
FormatNumber(MW, NumericUpDown1.Value) Label5.Text += vbCrLf + "C[i] = " +
FormatNumber(comp, NumericUpDown1.Value) + " g/liter or "
Label5.Text += FormatNumber(comp2, NumericUpDown1.Value) + " mg/L"
End Sub
Example 7.12
Use the computer program developed in (1) of Example 7.11 to determine the weight of CO2 that
would be dissolved in 1 L of water at 25C under a CO2 pressure of 1 atm.
Solution
(7.17)
(7.18)
where:
C1 is the gas concentration at absolute temperature T1
C2 is the gas concentration at absolute temperature T2
H is the heat of solution
R is the ideal or universal gas constant (1.987 cal/degmol)
Example 7.13
1. Prepare a computer program relating the various elements in Equation 7.18.
2. Using the computer program developed in (1), determine the concentration of oxygen in
water at 40C when the solubility of oxygen is 14.60 mg/L at 0C and 7.54 mg/L at 30C.
Solution
1. For solution to Example 7.13 (1), see the listing of Program 7.13.
2. Using the ClausiusClapeyron equation, determine H for 0C and 30C oxygen
concentration:
Sub calculateResults()
gasc1 = Val(TextBox1.Text)
gast1 = Val(TextBox2.Text)
gasc2 = Val(TextBox3.Text)
gast2 = Val(TextBox4.Text)
(7.19)
(7.20)
The first expression divided by the second provides the dimensionless ratio known as Reynolds number:
(7.21)
where:
is the density of the fluid (mass/volume), kg/m3
v is the velocity of the fluid, m/s
g is the dimensional constant
L is the linear dimension, m
is the viscosity of the fluid, kg/m/s
Re is the Reynolds number, dimensionless
The Reynolds number provides information on flow behavior. Laminar flow is normally encountered at a
Reynolds number < 2100 in a tube, but it can persist up to Reynolds numbers of several thousands under
special conditions. Under ordinary conditions of flow, the flow is turbulent at a Reynolds number ~>
4000. Between 2100 and 4000, a transition region is found where the type of flow may be either laminar
or turbulent. By definition, the Reynolds number is dimensionless (Air Pollution Training Institute 1984).
Example 7.14
1. Write a computer program that includes the elements contained in Equation 7.19 in order to
calculate the Reynolds number.
2. Given the data in the Solutions section for the flow of an air stream through a circular duct,
determine the Reynolds number for this air stream.
Solution
1. For solution to Example 7.14 (1), see the listing of Program 7.14.
2. Solution to Example 7.14 (2): a = 0.965 kg/m3
v = 10.0 m/s
L = 0.50 m (diameter of duct)
a = 2.15 105 kg/m/s
(7.22)
This would be turbulent flow. For most air pollution conditions, the flow is usually in the turbulent
range with high Reynolds numbers.
Sub calculateResults()
dimen = Val(TextBox1.Text)
vel = Val(TextBox2.Text)
dens = Val(TextBox3.Text)
visc = Val(TextBox4.Text)
Dim step1, step2 As Double
step1 = dimen * vel * dens
step2 = step1 / visc
Label6.Text = "The Reynolds number is " + Format(step2, "##.####").ToString
If step2 < 2100 Then
Label6.Text += vbCrLf + "Laminar flow"
ElseIf step2 < 4000 Then
Label6.Text += vbCrLf + "Transition region"
Else
Label6.Text += vbCrLf + "Turbulent flow"
End If
End Sub
(7.23)
where:
vt is the terminal settling velocity, cm/s
g is the gravitational constant, cm/s2
p is the density of the particle, g/cm3
a is the density of air, g/cm3
dp is the diameter of particle, m
is the viscosity of air, g/cm/s
For the determination of the terminal settling velocity of particles, three size regimes are considered
here, based on a dimensionless constant k. Terminal velocity is a constant value of velocity reached when
all forces (gravity, drag, buoyancy, etc.) are acting on a body balance. The sum of all the forces is then
equal to zero (no acceleration). A dimensionless constant k determines the appropriate range of the fluid-
particle dynamic laws which apply (Air Pollution Training Institute 1984).
(7.24)
where:
k is the dimensionless constant, which determines the range of the fluid-particle dynamic laws dp is the
particle diameter, cm
g is the gravity force, cm/s2
p is the particle density, g/cm3
is the fluid (gas) density, g/cm3
is the fluid (gas) viscosity, g/cm/s
The numerical value of k determines the appropriate law, and the values of k that apply for the three
regimes are as follows: k < 3.3, Stokes law range
3.3 < k < 43.6, intermediate law range 43.6 < k < 2360, Newtons law range
(7.23)
(7.25)
(7.26)
When particles approach sizes comparable to the mean free path of the fluid molecules, the medium can
no longer be regarded as continuous because particles can fall between the molecules at a faster rate than
predicted by aerodynamic theory. To allow for this slip, Cunningham correction factor is introduced to
Stoke law (Air Pollution Training Institute 1984):
(7.27)
(7.28)
where:
A = 1.257 + 0.40e1.10dp/2
is the mean free path of the fluid molecules (6.53 106 cm for ambient air) The Cunningham
correction factor is usually applied to particles equal to or smaller than 1 m (Air Pollution
Training Institute 1984).
Example 7.15
1. Write a computer program that provides for the calculation of the dimensionless constant k
and thus provides information as to which appropriate terminal velocity equation to use.
2. Write a computer program that relates the various elements in Stokes law (Equation 7.23)
and will determine the terminal settling velocity for spherical particles.
3. Using the computer programs developed in (1) and (2), estimate the terminal settling
velocity in cm/s for a 30 m particle with a density of 2.31 g/cm3. The room air is 24C
with a room depth of 2.7 m. Estimate the time required for this particle to settle from the
ceiling to the floor.
Solution
1. For a solution to Example 7.15 (1), see the listing of Program 7.15.
2. For a solution to Example 7.15 (2), first calculate the density of air at 24C using Equation
7.11:
where:
P = 1, atm
MW = 29 g/g-mol for air
R = 0.08206 (L) at) (g-mol)1 (K)1
T = K, (273 + C)
Using Equation 7.24, calculate the value of k in order to determine which equation to use to estimate
the terminal settling velocity for the 30 m particle:
If k < 3.3, the appropriate equation to use is Stokes law (Equation 7.23):
(7.23)
The time required for this 30 m particle to settle from the ceiling to the floor would be
Sub calculateResults()
pres = Val(TextBox1.Text)
molwgt = Val(TextBox2.Text)
temp = Val(TextBox3.Text)
(7.29)
where:
F(d) is the frequency of particle occurrence of diameter d N is the total number of particles
g is the standard geometric deviation for the data
dg is the geometric mean diameter of the particles
If the size distribution data do plot a straight line on log-probability paper, then two parameters that
characterize these data are the geometric mean diameter dg = d50 and the geometric standard deviation g:
(7.30)
where:
d84.13 is the diameter such that particles constituting 84.13% of the total mass of particles are smaller
than this size d50 is the geometric mean diameter
d15.87 is the diameter such that particles constituting 15.87% of the total mass of particles are smaller
than this size g is the geometric standard deviation
Example 7.16
Determine if the following particle size distribution data are log normal. If the data indicate log-
normal distribution, what then are the geometric mean diameter and the geometric standard deviation?
Data Answer
Particle Size d (m) Weight of Particles (g) Cumulative Total Cumulative Percentage
0.4 10 10 5.7
0.55 30 40 22.8
0.70 25 65 37.1
0.90 60 125 71.4
1.20 30 155 88.6
1.5 15 170 97.1
2.00 5 175 100
These data give a straight line on log-probability paper and therefore can be considered to have a
log-normal distribution.
Example 7.17
1. Develop a computer program that can be used to determine if the data for a particle size
distribution sample are log normal. If the data give a log-normal distribution, then include in
the program a means, by which the geometric mean diameter, d50, d15.87, and d84.13 sizes can
be determined, as well as the geometric standard deviation, g.
2. Using the computer program developed in (1), determine if the following data for a particle
size distribution are log normal. Also indicate the d15.87, d84.13, and d50 sizes as well as g.
Solution
1. For a solution to Example 7.17 (1), see the listing of Program 7.17.
2. A solution to Example 7.17 (2):
Particle Size d (m) Weight of Particles (g) Cumulative Total Cumulative Percentage
0.4 30 30 2.3
0.7 123 153 12.0
1.1 130 283 22.1
2.1 540 823 64.3
3.3 230 1053 82.3
4.0 99 1152 90.0
8.5 128 1280 100.0
Plot the data on a log-probability paper as shown on graph for Example 7.17. Determine from the graph
the following:
7.3 AIR POLLUTION CONTROL TECHNOLOGY
Sub calculateResults()
If DataGridView1.Rows.Count <= 1 Then
MsgBox("Type in at least one entry!", vbOKOnly + vbExclamation, "Prompt")
Exit Sub
End If
Dim count = DataGridView1.Rows.Count - 1
Dim cumtota, cumpera As Double
ReDim Partsz(count), Wgt(count), cumtot(count), per(count), cumper(count)
cumtota = 0
cumpera = 0
For i = 0 To count - 1
Partsz(i) = Val(DataGridView1.Rows(i).Cells("sizeCol").Value)
Wgt(i) = Val(DataGridView1.Rows(i).Cells("wgtCol").Value)
cumtota += Wgt(i)
cumtot(i) = cumtota
Next
For i = 0 To count - 1
per(i) = (Wgt(i) / cumtota) * 100
cumpera = cumpera + per(i)
cumper(i) = cumpera
Next
Dim s As String
s = "Particle size Wgt of Cumulative Cumulative"
s += vbCrLf + "d in um particle total paercent"
For i = 0 To count - 1
s += vbCrLf + Format(Partsz(i), "00.000 ").ToString
s += Format(Wgt(i), "000.000 ").ToString
s += Format(cumtot(i), "0000.000 ").ToString
s += Format(cumper(i), "00.000").ToString
Next
draw_graph()
Dim d84 As Double = get_Y_value(84.13)
Dim d50 As Double = get_Y_value(50.0)
Dim d15 As Double = get_Y_value(15.87)
Dim SD1, SD2 As Double
SD1 = d84 / d50
s += vbCrLf + "d[84.13] = " + FormatNumber(d84, 2)
s += vbCrLf + "d[50.00] = " + FormatNumber(d50, 2)
s += vbCrLf + "Geometric SD = d[84.13]/d[50.00] = " + FormatNumber(SD1, 2)
s += vbCrLf + "d[50.00] = " + FormatNumber(d50, 2)
s += vbCrLf + "d[15.87] = " + FormatNumber(d15, 2)
SD2 = d50 / d15
s += vbCrLf + "Geometric SD = d[50.00]/d[15.87] = " + FormatNumber(SD2, 2)
TextBox1.Text = s
End Sub
If we assume that Stokes law applies, we can derive a formula that can be used to calculate the
minimum diameter of particles to be collected at 100% theoretical efficiency in a chamber of given length
L.
The following equation can be used to predict the largest sized particle that can be removed with 100%
efficiency in a settling chamber with given dimensions:
(7.31)
where:
is the gas viscosity, g/cm*s
vh is the horizontal gas velocity, cm/s
H is the height of chamber, cm
g is the gravitational constant 981, cm/s2
L is the length of chamber, cm
p is the particle density, g/cm3
Example 7.18
Estimate the minimum size of particle that will be removed with 100% efficiency from a settling
chamber, given the following data: Dimensions of gravity settling chamber: 8 m wide, 6 m high, and
15 m long
Volumetric gas flow of 1.3 m3/s
Particle density of 2.0 g/cm3
Example 7.19
1. Prepare a computer program that can be used to predict the largest sized particle that can be
removed with 100% efficiency in a settling chamber (Equation 7.31).
2. Using the computer program developed in (1), estimate the largest sized particle that can be
removed with 100% efficiency in a settling chamber, given the following data: Gravity
settling chamber dimensions: 4 m wide, 1.2 m high, and 8 m long
Volumetric gas flow of 1.2 m3/s
Particle density of 2.5 g/cm3
Viscosity of the air at 27C of 1.86 104 g*cm/s
Solution
1. For solution to Example 7.19 (1), see the listing of Program 7.19.
2. A solution to Example 7.19 (2):
a. Calculate vh from Q = VA:
(7.32)
where:
d50 is the diameter of the particle that is collected with 50% efficiency (cut diameter) is the gas
viscosity, kg/m*s
Bc is the width of cyclone inlet, m
Ne is the number of effective turns within the cyclone
vi is the inlet gas velocity, m/s
p is the density of the PM, kg/m3
Sub calculateResults()
measq = Val(TextBox1.Text)
meash1 = Val(TextBox2.Text)
measw1 = Val(TextBox3.Text)
comp1 = meash1 * measw1
Comp2 = measq / comp1
Comp3 = comp2 * 100
Label5.Text = FormatNumber(measq, 2) + " = V (" + FormatNumber(meash1, 2) +
" x " + FormatNumber(measw1, 2) + ")"
Label5.Text += vbCrLf + "V = " + FormatNumber(measq, 2) + " / " +
FormatNumber(comp2, 2) Label5.Text += vbCrLf + "V = " + FormatNumber(comp2,
2) + " m/sec"
Label5.Text += vbCrLf + "V = " + FormatNumber(comp3, 2) + " cm/sec"
Me.Height = 480
End Sub
FIGURE 7.2 (a) Typical dimension for single, high-efficiency cyclone. (b) Nomenclature for a single,
high-efficiency cyclone.
The number of effective turns (N) within the cyclone can be approximated by the following equation
7.29 (Cooper and Alley 2010):
(7.33)
where:
Hc is the height of inlet duct, m
Lc is the length of vertical cylinder, m
Zc is the length of cone section, m
The collection efficiency of particles both larger and smaller than the d50 (cut diameter) can be estimated
by using the following equation or from Figure 7.3 (Danielson 1973, Theodore and DePaola 1980):
(7.34)
where:
E is the collection efficiency
d50 is the particle diameter with 50% collection efficiency (cut diameter), m d is the particle diameter
of a specified size, m
The pressure drop through a cyclone can be estimated by using the following empirical equation
(Vesilind, Morgan and Heine 2009):
(7.35)
where:
P is the pressure drop through cyclone, m of water
Q is the flow rate, m3/s
P is the absolute pressure, atm
is the gas density, kg/m3
T is the temperature, K
K is the factor, function of cyclone diameter (approximate values are shown in Table 7.7) TABLE 7.7
Values of K for Calculating Pressure Drop through Cyclone
Cyclone Diameter (cm) K
74 104
40 103
20 102
10 101
Source: Vesilind, P.A. et al. Environmental Engineering, 2nd ed., Butterworth-Heinemann, Stoneham, MA, 1988. With permission.
Example 7.20
Determine the size of the particles that can be collected with 50% efficiency (cut diameter) for a
cyclone with the following dimensions and operating under the following conditions at a cement kiln
plant. Also estimate the pressure drop through the cyclone as well as the removal efficiency for
particles with a 20 m diameter.
Flow rate, Q = 1.6 m3/s
Length of vertical cyclone cylinder, Le = 1 m
Length of cyclone cone section, Zc = 1 m
Cyclone diameter, Dc = 0.50 m
Cyclone inlet width, Bc = 0.15 m
Cyclone inlet height, Hc = 0.25 m
Specific gravity of particles, p = 2000 kg/m3
Gas viscosity (air) = 0.0756 kg/m*h
Density of air, a = 0.965 kg/m3
Pressure P = 1 atm
Temperature = 93C
Solution
From Equation 7.33, the estimated number of effective turns (Ne) within the cyclone would be
From Equation 4.32, the d50 or cut diameter can be calculated as follows:
Use Equation 7.35 to estimate the pressure drop through the cyclone: Q = 1.6 m3/s
P = 1 atm
a = 0.965 kg/m3
T = 93C
K = factor for cyclone, interpolation for a 50 cm diameter from Table 7.7 gives K = 0.00074 or 7.4
104
For a 20 m diameter particle, the removal efficiency can be estimated from Equation 7.34 as
follows:
From Figure 7.3, removal efficiency for a 20 m diameter particle would be as follows:
From the graph, the efficiency would approach 100%.
Example 7.21
1. Prepare a computer program that can be used to estimate the size of particles that can
be collected with 50% (cut diameter) efficiency with a cyclone of given dimensions.
Include in the program a system for the determination of the number of effective turns
(Ne) within the cyclone, the collection efficiency for particles both smaller and larger
than d50 size, as well as an estimate of the pressure drop (P) through the cyclone.
2. For a single high-efficiency cyclone with the following dimensions that is operating
under the given conditions, use the computer program developed in (1) to estimate the
size of particles that can be collected with 50% efficiency, Ne, P, and the collection
efficiency for a 15 m sized particle.
1. For a solution to Example 7.21 (1), see the listing of Program 7.21 for the
determination of d50, Ne, P, and collection efficiency for particles smaller and larger
than the d50 size.
2. A solution to Example 7.21 (2):
f From Figure 7.3, d/d50 = 15/7 = 2.14. The collection efficiency = 82%
'*********************************************************************************
'Example 7.21: Estimate the size of particles that can be collected
'with a 50% (cut diameter) efficiency with a cyclone of given dimensions
'*********************************************************************************
Public Class Form1
Dim screen As Integer = 1
Dim hgt1, vert1, length1, bq, bwidth, dens, visc As Double
Dim factor, pres, gasdens, temp, diam As Double
Dim acomp1, acomp2, acomp3, aansw As Double
Dim bcomp1, bansw, banswb As Double
Dim ccomp1, ccomp2, ccomp3, cansw, canswb As Double
Dim tcomp, qs, dcomp1, dansw, danswb As Double
Dim ecomp1, ecomp2, ecomp3, ecomp4, eansw As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Example 7.21: Cyclone
Efficiency"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Case 3, 5
Label4.Visible = False
Label5.Visible = False
Label7.Visible = False
TextBox2.Visible = False
TextBox3.Visible = False
TextBox4.Visible = False
Case 4
Label4.Visible = True
Label5.Visible = True
Label7.Visible = True
TextBox2.Visible = True
TextBox3.Visible = True
TextBox4.Visible = True
End Select
End Sub
Sub calculateResults()
Select Case screen
Case 1
hgt1 = Val(TextBox1.Text)
vert1 = Val(TextBox2.Text)
length1 = Val(TextBox3.Text)
Acomp1 = 1 / hgt1
Acomp2 = length1 / 2
Acomp3 = vert1 + acomp2
Aansw = acomp1 * acomp3
Label6.Text = "Ne = " + FormatNumber(aansw, 2)
screen = 2
changeScreen()
Case 2
bq = Val(TextBox1.Text)
bwidth = Val(TextBox2.Text)
dens = Val(TextBox3.Text)
bcomp1 = bwidth * hgt1
bansw = bq / bcomp1
banswb = bansw * 3600
Label6.Text = "v[i] = " + FormatNumber(bansw, 2) + " m/s = " +
FormatNumber(banswb, 2) + " m/hr"
screen = 3
changeScreen()
Case 3
visc = Val(TextBox1.Text)
Ccomp1 = 9 * visc * bwidth
Ccomp2 = 2 * 3.14 * aansw * banswb * dens
Ccomp3 = ccomp1 / ccomp2
Cansw = ccomp3 ^ (0.5)
Canswb = cansw * 1000000
Label6.Text = "d[50] = " + FormatNumber(cansw, 6) + " m = " +
FormatNumber(canswb, 2) + " um"
screen = 4
changeScreen()
Case 4
factor = Val(TextBox1.Text)
pres = Val(TextBox2.Text)
gasdens = Val(TextBox3.Text)
temp = Val(TextBox4.Text)
Tcomp = 273 + temp
Qs = bq * bq
Dcomp1 = 3950 * factor * qs * pres * gasdens
Dansw = dcomp1 / tcomp
(7.36)
where:
is the fractional collection efficiency
A is the area of the collection plates, m2
w is the drift velocity of the charged particles, m/s
Q is the flow rate of the gas stream, m3/s
The drift velocity w is the velocity at which a particle approaches the collection surface and can be
estimated by the following equation (Air Pollution Training Institute 1984):
(7.37)
where:
w is the drift velocity, m/s
a is the constant, a function of the charging field, the carrier gas properties, and the ability of the
particle to accept an electrical charge, s1
dp is the particle size, m
Drift velocities commonly range from 0.02 to 0.2 m/s and can be determined experimentally. The
following example demonstrates the calculations that can be used to evaluate the operation or design of an
ESP.
Example 7.22
An ESP is to remove fly-ash particles of 0.5 m diameter from a gas stream flowing at 0.7 m3/s.
Determine the plate area required to collect the 0.5 m particles at 98% efficiency. The value for the
constant a has been found to be 0.24 106/s.
Solution
Using Equation 7.37, the drift velocity will be
Using Equation 7.36 and 98% removal efficiency:
Example 7.23
1 Prepare a computer program that can be used to estimate the drift velocity for a plate-type
ESP, given the constant a in Equation 7.37. Also include in the program the elements in
Equation 7.36. Design the program so that any of the other elements can be calculated,
provided any of the other two elements are given.
2 Using the computer program developed in (1), determine the number of 6 by 6 m plates
needed to collect 0.4 m particles with a drift velocity constant a of 2.5 105/s. The total
air flow is 30 m3/s, and the collection efficiency is to be 90%.
Solution
1 For a computer program for Example 7.23 (1), see the listing of program 7.23, which
includes the elements in Equations 7.36 and 7.37.
a A solution to Example 7.23 (2): Using Equation 7.37:
2
which yields A = 691 m2. Each plate surface has 6 6 x 2 = 72 m2 surface area. Use 10 plates.
'*********************************************************************************
'Example 7.23: Estimate the drift velocity for a plate-type
'electrostatic precipitator given the constant in eqn. 7.32.
'The program can calculate any of the elements given the other two.
'*********************************************************************************
Imports System.Math
Public Class Form1
Dim aconst, partsize, wcompa, compvel As Double
Dim area, rate, perc As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Example 7.23:"
Me.MaximizeBox = False
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Label1.Text = "Estimate the drift velocity for a plate-type"
Label1.Text += vbCrLf + "electrostatic precipitator given the constant in
eqn. 7.32."
Label1.Text += vbCrLf + "The program can calculate any of the elements
given the other two."
Label1.Text += vbCrLf + "The formulas:"
Label1.Text += vbCrLf + "w = a*d[p]"
Label1.Text += vbCrLf + "n = 1 exp(-(A*w/Q))"
Label8.Text = "Enter value for constant a Use scientific notation
(x.xxE+/-x)"
Label9.Text = "Enter particle size d[p] (in um)"
Label6.Text = ""
Label10.Text = ""
Label2.Text = "n = 1 exp(-(A*w/Q))"
Label2.Text += vbCrLf + "In the above formula, given w, this program solves
for:"
RadioButton1.Text = "n, the fractional collection efficiency"
RadioButton2.Text = "A, the area of the collection plates"
Johnstones equation can be used to evaluate the operation and design of venturi scrubbers (Air
Pollution Training Institute 1984):
(7.38)
where:
E is the fractional collection efficiency
k is the correlation coefficient depending upon system geometry and operating conditions QL/QG is the
liquid-to-gas ratio (QL, m3/s; QG m3/s) is the interial impaction parameter
(7.39)
where:
C is the Cunningham correction factor, dimensionless
p is the particle density, kg/m3
v is the gas velocity at venturi throat, m/s
dp is the particle diameter, m
do is the average droplet diameter, m
is the gas viscosity, kg/m*s
The Cunningham correction factor may be approximated by using the following equation (Air & Waste
Management Association and Davis 2000):
(7.40)
where:
T is the absolute gas temperature, K
dp is the diameter of particle, m
Under normal conditions, the Cunningham factor is taken as 1 for particles larger than 1 m.
The average liquid droplet do may be determined by using the following equation 7.41 (Air Pollution
Training Institute 1984):
(7.41)
(7.42)
where:
P is the pressure drop across the venturi scrubber, cm of water
v is the gas velocity through throat, cm/s
L is the water-to-gas volume ratio, L/m3
Example 7.24 demonstrates the calculations that can be made to evaluate the operation and design of a
venturi scrubber.
Example 7.24
Determine the collection efficiency of a venturi scrubber for particles 0.7 m in diameter from a
gas stream containing fly ash. The liquid-to-gas ratio is 1.12 103 m3 of liquid per m3 of gas. Also
determine the pressure drop across the venturi scrubber, given the scrubber described below: Throat
velocity = 90 m/s
Density of particles = 900 kg/m3
Gas viscosity = 2.2 105 kg/m/s
Gas temperature = 100C
Correlation coefficient K = 2000
SOLUTION
Using Equation 7.40, estimate the Cunningham correction factor:
Using Equation 7.39, determine the venturi scrubbers collection efficiency: E = 1 exp[2000
1.12 103 1.12] = 1 0.07 = 93% for removal of 0.7 sized particles The pressure drop
across the venturi scrubber can be calculated from Equation 7.42: P = (9000 cm/s)2(1.12
L/m3)106 = 90.72 cm = 35.7 in H2O
Listing of Program 7.25 (Chap7.25\Form1.vb): Venturi Scrubber
'*********************************************************************************
'Example 7.25: Estimate the efficiency of a Venturi scrubber to remove
'particles of a specific size as well as the pressure drop through
'the scrubber.
'*********************************************************************************
Public Class Form1
Dim screen As Integer = 1
Dim temp, dia, qg, ql, vel, visc, dens, cc As Double
Dim ratio, tcomp, acomp1, acomp2, acomp3, acomp4, acomp5, acomp6, d, c As
Double
Dim dcomp, diacomp, diasquar, nom, denom, IIP, para As Double
Dim ecomp1, ecomp2, eff As Double
Dim lfr, pcomp1, pcomp2, pcomp3, expon, drop, dropb As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Example 7.25:"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Example 7.25: Estimate the efficiency of a venturi scrubber
to
remove"
Label1.Text += vbCrLf + "particles of a specific size as well as the
pressure drop through"
Label1.Text += vbCrLf + "the scrubber."
Label1.Text += vbCrLf + "The formulas:"
Label1.Text += vbCrLf + "E = 1 exp [-k (Q[L]/Q[G]) SQR-IIP]"
Label1.Text += vbCrLf + "(SQR-IIP = Square root of interial impaction
parameter)"
Label1.Text += vbCrLf + "IIP = C r[p] v d[p]{2} / 18 d[o] u"
Label1.Text += vbCrLf + "C = 1 + ((6.21 x 10{04})T) / d[p]"
Label1.Text += vbCrLf + "d[o] = (5000/v) + 29.67 (1000 (Q[L]/Q[G]){1.5}"
Label1.Text += vbCrLf + "Delta P = v{2} L x 10{-6}"
GroupBox1.Text = ""
changeScreen()
End Sub
'********************************************************************************
'This sub prepares the screen every time by resetting
'the labels' text, the button text, and empties the
'textboxes. It shows/hides the controls as needed.
'********************************************************************************
Sub changeScreen()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
Select Case screen
Case 1
Label7.Text = "C = 1 + ((6.21 x 10{04})T) / d[p]"
Label7.Text += vbCrLf + "d[o] = (5000/v) + 29.67 (1000 (Q[L]/Q[G])
{1.5}"
Label2.Text = "Enter the gas temperature T (in C)"
Label3.Text = "Enter the diameter of the particle d[p] (in um)"
Label4.Text = "Enter the gas flow rate (Q[G]) (in m{3}/s)"
Label5.Text = "Enter the liquid flow rate (Q[L]) (in m{3}/s)"
Label6.Text = "Enter the throat velocity v (in m/s)"
Label8.Text = ""
Button1.Text = "&Calculate 'C' and 'd[o]'"
Case 2
Label7.Text = "IIP = C r[p] v d[p]{2} / 18 d[o] u"
Label7.Text += vbCrLf + "Enter the gas viscosity u (in kg/m/s)"
Label2.Text = "- use scientific notation (x.xxE+/-x)"
Label3.Text = "Enter the particle density r[p] (in kg/m{3})"
Button1.Text = "&Calculate 'IIP'"
Case 3
Label7.Text = "E = 1 exp[-k (Q[L]/Q[G]) SQR-IIP]"
Label7.Text += vbCrLf + "(SQR-IIP = Square root of interial impaction
parameter)"
Label2.Text = "Enter the correlation coefficient"
Case 4
Button1.Text = "Start over"
End Select
Select Case screen
Case 1
Label3.Visible = True
Label4.Visible = True
Label5.Visible = True
Label6.Visible = True
TextBox1.Visible = True
TextBox2.Visible = True
TextBox3.Visible = True
TextBox4.Visible = True
TextBox5.Visible = True
Case 2
Label3.Visible = True
Label4.Visible = False
Label5.Visible = False
Label6.Visible = False
TextBox1.Visible = True
TextBox2.Visible = True
TextBox3.Visible = False
TextBox4.Visible = False
TextBox5.Visible = False
Case 3
Label3.Visible = False
Label4.Visible = False
Label5.Visible = False
Label6.Visible = False
TextBox1.Visible = True
TextBox2.Visible = False
TextBox3.Visible = False
TextBox4.Visible = False
TextBox5.Visible = False
End Select
End Sub
Sub calculateResults()
Select Case screen
Case 1
temp = Val(TextBox1.Text)
dia = Val(TextBox2.Text)
qg = Val(TextBox3.Text)
ql = Val(TextBox4.Text)
vel = Val(TextBox5.Text)
tcomp = 273 + temp
acomp1 = 0.000621 * tcomp
acomp2 = acomp1 / dia
C = 1 + acomp2
acomp3 = 5000 / vel
Ratio = ql / qg
Acomp4 = 1000 * ratio
Acomp5 = acomp4 ^ (1.5)
Acomp6 = acomp5 * 29.67
D = acomp3 + acomp6
Label8.Text = "C = " + FormatNumber(c, 2)
Label8.Text += vbCrLf + "d[o] = " + FormatNumber(d, 2) + " um"
screen = 2
changeScreen()
Case 2
visc = Val(TextBox1.Text)
dens = Val(TextBox2.Text)
Dcomp = d * 0.000001
Diacomp = dia * 0.000001
Diasquar = diacomp ^ 2
Nom = c * dens * vel * diasquar
denom = 18 * dcomp * visc
IIP = nom / denom
para = Math.Sqrt(IIP)
Label8.Text = "IIP = " + FormatNumber(IIP, 2) + " Square Root of IIP =
" +
FormatNumber(para, 2)
screen = 3
changeScreen()
Case 3
cc = Val(TextBox1.Text)
ratio = ql / qg
Ecomp1 = cc * ratio * para
ecomp2 = Math.Exp(-ecomp1)
Eff = (1 - ecomp2) * 100
Label6.Text = "The efficiency is " + FormatNumber(eff, 2) + "%"
Label8.Text = "Delta P = v{2} L x 10{-6}"
Lfr = ql * 1000
ratio = lfr / qg
Pcomp1 = vel * 100
pcomp2 = pcomp1 ^ 2
Pcomp3 = pcomp2 * ratio
Expon = 1 / 1000000
Drop = pcomp3 * expon
Dropb = drop * 0.3937
Label8.Text += vbCrLf + "The pressure drop is " + FormatNumber(drop, 2)
+ _
" cm or " + FormatNumber(dropb, 2) + " inches of H[2]O"
screen = 4
changeScreen()
Case 4
screen = 1
changeScreen()
End Select
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
End Sub
End Class
Example 7.25
1 Prepare a computer program that will estimate the efficiency of a venturi scrubber to remove
particles of a specific size as well as the pressure drop through the venturi scrubber. Include
in the program all the elements contained in Equations 7.38 through 7.40 and 7.42.
2 Using the program developed in (1), estimate the collection efficiency of a venturi scrubber
at removing 3.2 m sized particles. The particles have a density of 3000 kg/m3. Also
determine the pressure drop across the venturi scrubber. The venturi scrubber characteristics
are as follows: Gas flow rate = 310 m3/min = 5.2 m3/s
Liquid flow rate = 0.00139 m3/s
Gas flow velocity at throat = 100 m/s
Correlation coefficient = 1500
Temperature = 90C
Gas viscosity = 2.1 105 kg/m/s
Solution
1 For a solution to Example 7.25 (1), see the listing of Program 7.25, which includes elements
in Equations 7.38 through 7.42.
a A solution to Example 7.25 (2): Using Equation 7.40, estimate the Cunningham correction
2
factor:
b Using Equation 7.41, estimate the average droplet diameter:
d Using Equation 7.38, determine the venturi scrubbers collection efficiency for collecting 3.2
m sized particles: E = 1 exp(1500 0.00139/5.2 12.69) = .994 = 99.4%
e Using Equation 7.42, estimate the pressure drop across the throat of the venturi scrubber: P =
(10,000 cm/s)2(1.39 L/s liquid/5.2 m3/s gas)106 = 26.73 cm = 10.52 inches of H2O
Equation that can be used to evaluate and aid in the design of fabric filters is as follows:
(7.43)
where:
Af is the total filtering area, m2
Q is the volume of gas stream, m3/min
vf is the filtering velocity (air-to-cloth ratio), m/min
(7.44)
where:
Ab is the filtering area for each bag, m2
= 3.1416
d is the diameter of the bag, m
h is the length of the bag, m
(7.45)
(7.46)
where:
P is the pressure drop
Se is the effective residual drag
vf is the gas velocity at filter surface
k2 is the specific resistance coefficient of collect particulate
c is the concentration of particulate in the gas stream
t is the filtration time
Values for Se and k2 can be found in publications or handbooks such as Reference 17. Equation 7.47
includes the values for Se and k2. This equation can be used under specified conditions to estimate the
pressure drop through a fabric filter, provided the required time between cleanings is known or vice
versa (Air Pollution Training Institute 1984):
(7.47)
where:
P is the pressure drop, cm
vf is the filtering velocity, m/min
c is the particulate concentration in the air stream, kg/m3
t is the time required between cleanings, min
Example 7.26 demonstrates the calculations that can be made in order to evaluate the operation or
design of a fabric filter.
Example 7.26
Determine the filter cloth area and the required frequency of cleaning, given the following data:
Volume of contaminated air stream Q = 400 m3/min
Filtering velocity vf = 0.8 m/min
Particulate concentration in the air stream c = 0.03 kg/m3
Diameter of the filter bag = 0.2 m
Length of the filter bag = 5.0 m
The system is designed for cleaning of filter when pressure drop reaches 9 cm of water.
Solution
Using Equation 7.44, the filtering bag area, which is 0.2 m in diameter and 5.0 m long, can be
calculated as follows: Ab = 3.14(0.2 m)(5.0 m) = 3.14 m2 per bag The number of bas required
can be determined from Equation 7.45:
The frequency for cleaning these bags can be estimated from Equation 7.47: 9 cm = 1.6(0.8
m/min) + 8.52(0.03 kg/m3)(0.80 m/min)2t which yields t = 47 min.
Example 7.27
1 Prepare a computer program that will aid in the design and operation of a baghouse
(fabric filter unit). Include the elements in Equations 7.43 through 7.45 and 7.47 in the
program.
2 Using the program developed in (1), determine the number of filtering bags required and
the cleaning frequency of a plant employing a baghouse filter, given the following design
data: Volume of contaminated gas stream Q = 12 m3/s
Filtering velocity vf = 2 m/min
Particulate concentration in the air stream c = 0.025 kg/m3
Diameter of filter bag = 0.3 m
Length of filter bag = 8 m
The baghouse filter system is to be cleaned when pressure drop reaches 15 cm.
Solution
1 For a solution to Example 7.27 (1), see the listing of Program 7.27, which includes the
elements in Equations 7.43 through 7.45 and 7.47.
a A solution to Example 7.27 (2): From Equation 7.43, the total filter area required is
2
b From Equation 7.44, the surface area for each bag is as follows: Ab = 3.14(0.3 m)(8 m) =
7.54 m2
c From Equation 7.45, the number of bas required is as follows:
******************************************************************************
'Example 7.27: A program to aid in the design and operation
' of a baghouse (Fabric filter unit)
'******************************************************************************
Public Class Form1
Dim screen As Integer = 1
Dim temp, dia, qg, ql, vel, visc, dens, cc As Double
Dim vol, volcomp, af, ab, n, length, drop, conc As Double
Dim comp1, comp2, comp4, compt, compvel As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Example 7.27: Baghouse
operation"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Example 7.27: A program to aid in the design and
operation of a baghouse"
Label1.Text += vbCrLf + " (Fabric filter unit)"
Label1.Text += vbCrLf + "The formulas:"
Label1.Text += vbCrLf + "A[f] = Q / v[f]"
Case 1
vol = Val(TextBox1.Text)
vel = Val(TextBox2.Text)
volcomp = vol * 60
af = volcomp / vel
Label4.Text = "A[f] = " + FormatNumber(af, 2) + " m{2}"
screen = 2
changeScreen()
Case 2
dia = Val(TextBox1.Text)
length = Val(TextBox2.Text)
ab = 3.1416 * dia * length
Label4.Text = "A[b] = " + FormatNumber(ab, 2) + " m{2}"
screen = 3
changeScreen()
Case 3
screen = 4
changeScreen()
Case 4
drop = Val(TextBox1.Text)
conc = Val(TextBox2.Text)
comp1 = 1.6 * vel
compvel = vel ^ 2
comp2 = 8.52 * conc * compvel
comp4 = drop - comp1
compt = comp4 / comp2
Label4.Text = "t = " + FormatNumber(compt, 2) + " minutes"
screen = 5
changeScreen()
Case 5
screen = 1
changeScreen()
End Select
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
End Sub
End Class
One application of this catalyst was marketed in 1985 by Teledyne Water Pik. One stage of the four-
stage Teledyne Water Pik Instapure Filtration System used this catalyst for the removal of indoor
gaseous contaminants (Teledyne Instapure Filtration System 1985).
Not only is the percentage of reduction of the air contaminant important but also parameters such as
contact time and the reaction rate coefficient are important. To calculate the percentage of reduction of
the air contaminant by the catalyst, the following equation 7.48 can be used:
(7.48)
where:
C0 is the initial air contaminant concentration, g/m3
Ce is the effluent air contaminant concentration, g/m3
The contact time can be determined by using the following equation 7.49:
(7.49)
where:
t is the contact time, s
Sc is the space around the catalyst, mL
fr is the contaminated gas flow rate, mL/s
A mathematical model (first-order reaction) proved valuable in evaluating the various catalysts.
This mathematical model was verified by testing various catalytic systems using a fixed quantity of
catalyst and a constant initial air contaminant concentration (C0), but the gas flow was varied, which
in turn varied the contact time (t). The data from these tests yielded a straight line when Ce/C0 versus t
was plotted on a semilog paper. This indicated that the air contaminant removal by the catalyst was a
first-order reaction.
Equation 7.50 is the mathematical model describing this process:
(7.50)
where:
e is the base of natural logarithm, 2.71828
k is the reaction rate, coefficient, s1
t is the catalytic contact time s
C0 and Ce are the same as previously indicated
In general, the longer the contact time with the catalyst, the greater the reduction in the air
contaminant levels. For most catalytic systems, the contact time needs to be on the order of a few
hundredths of a second.
The reaction rate coefficient k is a single number that measures the overall activity of a catalyst.
With equal contact time, the higher the k value, the greater the ability of the catalyst to remove air
contaminants. It was found that for this catalytic system, k values > 10 s1 indicated a catalytic system
worthy of further development. Example demonstrates how Equations 7.48 through 7.50 can be used
to evaluate a catalyst.
Example 7.28
1 A 2.5 g catalytic sample was tested for its removal efficiency of carbon monoxide (CO)
from an air stream. The initial CO concentration was 23,300 g/m3 (C0). The CO
concentration in the air stream after passing through the catalyst was 1770 g/m3 (Ce).
The airstream flow rate was 700 mL/min. The space around the catalytic support system
was 0.6 mL. Determine the percentage of CO removal, the contact time in seconds, and
the reaction rate coefficient.
2 Prepare a short computer program to solve this problem.
Solution
Equation 7.48:
'******************************************************************************
'Example 7.28: A program that can be used to evaluate
' a catalytic system
'******************************************************************************
Public Class Form1
Dim screen As Integer = 1
Dim co, ce, perc, space, rate, time, acomp, k As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Example 7.28: Catalytic
System evaluation"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Example 7.28: A program that can be used to evaluate a
catalytic system"
Label1.Text += vbCrLf + "The formulas:"
Label1.Text += vbCrLf + "Removal (%) = ((C[o] C[e])/C[o]) * 100"
Label1.Text += vbCrLf + "t = s[c]/f[r]"
Label1.Text += vbCrLf + "C[e]/C[o] = e{-kt}"
Label4.Font = New Font(FontFamily.GenericSerif, 9, FontStyle.Bold)
Label5.Text = "Decimals:"
GroupBox1.Text = ""
NumericUpDown1.Value = 2
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
changeScreen()
End Sub
'*****************************************************************************
'This sub prepares the screen every time by resetting
'the labels' text, the button text, and empties the
'textboxes. It shows/hides the controls as needed.
'*****************************************************************************
Sub changeScreen()
TextBox1.Text = ""
TextBox2.Text = ""
Select Case screen
Case 1
Label7.Text = "Removal(%) = ((C[o] C[e])/C[o]) * 100"
Label2.Text = "Enter the initial concentration C[o] (in um/m{3})"
Label3.Text = "Enter the initial concentration after the catalyst
C[e] (in um/m{3})"
Label4.Text = ""
Button1.Text = "&Calculate 'percentage'"
Case 2
Label7.Text = "t = s[c]/f[r]"
Label2.Text = "Enter the space around the catalyst s[c] (in mL)"
Label3.Text = "Enter the air stream flow rate f[r] (in mL/min)"
Button1.Text = "&Calculate 'time'"
Case 3
Label7.Text = "C[e]/C[o] = e{-kt}"
Label7.Text += vbCrLf + "All factors for this equation are from the
previous equations"
acomp = Math.Log(ce / co)
K = acomp / time * -1
Label7.Text += vbCrLf + "k = " + FormatNumber(k,
NumericUpDown1.Value) + " sec{-1}"
Label2.Text = ""
Label3.Text = ""
Button1.Text = "Start over"
End Select
Select Case screen
Case 3
TextBox1.Visible = False
TextBox2.Visible = False
Case 1, 2
TextBox1.Visible = True
TextBox2.Visible = True
End Select
End Sub
Sub calculateResults()
Dim decimals As Integer = NumericUpDown1.Value
If decimals < 0 Or decimals > 10 Then decimals = 2
Select Case screen
Case 1
co = Val(TextBox1.Text)
ce = Val(TextBox2.Text)
perc = ((co - ce) / co) * 100
Example 7.29
1. Prepare a computer program that can be used to evaluate a catalytic system
including the percentage of reduction of an air contaminant, contact time, and
reaction rate coefficient. This program should incorporate all the elements in
Equations 7.48 through 7.50.
2. 2 Using the computer program developed in (1), indicate which of the following
catalysts should be considered for further development. The air space around the
catalyst was found to be 0.24 mL/g of catalyst.
Catalyst Weight of Catalyst Flow Rate (mL/s) CO Initial (CO0 ) (m/m3 ) CO Final (COe) (m/m3 )
1 0.5 20 33,700 26.600
2 1.0 13 30,490 14,670
3 1.5 4 13,210 3100
4 2.0 12 19,720 1610
Solution
1 For solution to Example 7.29 (1), see the listing of Program 7.29, which includes all the
elements in Equations 7.48 through 7.50.
2 Solution to Example 7.29 (2):
Catalyst Removal (%) Contact Time (s) Reaction Rate Constant k (s 1 )
1 21 0.006 39.4
2 52 0.018 39.6
3 77 0.09 16.1
4 92 0.04 62.6
Of these four catalysts, number 4 shows the greatest promise for further development.
'******************************************************************************
'Example 7.29: A program that can be used to evaluate a
' catalytic system.
' Evaluates multiple catalysts.
'******************************************************************************
Public Class Form1
Dim cat(), wgt(), flow(), initial(), final() As Double
Dim aspace(), perc(), ctime(), comp1(), rrate() As Double
Dim space As Double
For i = 0 To count - 1
s += vbCrLf + Format(cat(i), "000 ").ToString
s += Format(wgt(i), "00.000 ").ToString
s += Format(aspace(i), "00.000 ").ToString
s += Format(flow(i), "00.000 ").ToString
s += Format(initial(i), "00.000 ").ToString
s += Format(final(i), "00.000").ToString
Next
TextBox1.Text = s
s = "--------------------------------------------------------"
s += vbCrLf + " Removal Contact time Reaction rate"
s += vbCrLf + "Catalyst % (sec) Constant k (s{-1})"
For i = 0 To count - 1
s += vbCrLf + Format(cat(i), "000 ").ToString
s += Format(perc(i), "00.000 ").ToString
s += Format(ctime(i), "00.000 ").ToString
s += Format(rrate(i), "00.000").ToString
Next
TextBox1.Text += vbCrLf + s
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
End Sub
End Class
The amount of absorbate (gas) that dissolves in the absorbent (liquid) depends upon the properties
of the absorbent and the absorbate, the absorbate (gas) concentration, the partial pressure of the
pollutant, the temperature of the system, the turbulence, the flow rate, and the type of air pollution
control equipment used. For dilute solutions, as is the usual case in air pollution control, the
relationship between the partial pressure and the concentration of the absorbate (gas) in the absorbent
(liquid) is given by Henrys law (see Section 7.2.6).
Only the packed column absorption type of air pollution control equipment will be considered here.
One of the most efficient ways to contact the absorbent with absorbate is the countercurrent flow
system shown in Figure 7.9a (Corman and Black 1974). In this system, the gas and liquid run in
opposite directions. The absorbate (gas) enters at the bottom and the absorbent (liquid) at the top of
the column. With this arrangement, the high-concentration pollutant (gas) is absorbed into the
absorbent (liquid) with a high-pollutant concentration, and the lower concentration pollutant (gas) is
absorbed into the absorbent (liquid) that has no contaminants present. As indicated by Henrys law,
the concentration of a gas dissolved in a solvent under equilibrium conditions is proportional to the
partial pressure of the gas above the solution at constant temperature.
FIGURE 7.9 (a) Countercurrent-packed column: a typical countercurrent-packed column absorber
system. (b) Countercurrent-packed column. (c) Countercurrent-packed column: graphical presentation
of the packed column.
Applying this principle from the bottom to the top of the packed tower makes it possible to
determine the mole fraction of the pollutant (absorbate) in the gas phase in equilibrium with the mole
fraction of the pollutant (absorbate) in the liquid phase. When these data are plotted with the gas mole
fraction on the ordinate (y-axis) and the liquid mole fraction on the abscissa (x-axis), an equilibrium
line is produced (see Figure 7.9b).
For absorption to take place, the operating line must be above the equilibrium line. The vertical
distance between the equilibrium line and the operating line indicates the degree of saturation of the
liquid with the pollutant (see Figure 7.9b). The operating line in this case is considered to be a
straight line, and an equation depicting this line follows:
(7.51)
where:
L1 is the liquid flow, kg*mol/h
Gt is the gas flow, kg*mol/h
XA is the mole fraction of the pollutant in the liquid phase into the column XB is the mole fraction of
the pollutant in the liquid phase out of the column YA is the mole fraction of the pollutant in the gas
phase out of the column YB is the mole fraction of the pollutant in the gas phase into the column See
Figure 7.9c for a graphical representation of these terms.
Example 7.30 demonstrates how Equation 7.51 can be used to evaluate and aid in the design of
packed columns used for air pollution control. While the following example illustrates some of the
principle used for packed column evaluation and design, there are many other factors that must be
taken into account, such as the number of transfer units, the height of an overall gas transfer unit, the
type of packing, and the required packed column height and diameter. However, it is not possible to go
into all these functions and formula here.
Example 7.30
A 500 kg/h air stream contains a mixture of acetone in air (CH3COCH3; molecular weight of
acetone = 58.08; molecular weight of air at 25C = 28.970) to be treated in a countercurrent-
packed column absorber, which has a diameter of 0.45 m and is packed with Raschig rings. The
equilibrium equation was found to be YB = 2.53XB, where YB is the mole fraction of acetone in air,
and XB is the mole fraction of acetone in water.
The operating temperature is 25C at 1 atm pressure. The acetone in the air stream entering at
the bottom of the column is 50 mg/L, and it is required that the allowable level of acetone leaving
the column to be reduced to 2.5 mg/L. What is the required flow rate of water in kg/h (acetone
free, XA = 0) to lower the acetone concentration to the desired level?
Solution
which yields
The number of moles of inlet air based on the following airacetone mixture is calculated as
follows:
Example 7.31
1. 1 Prepare a computer program that incorporates all the elements in Equation 7.51 and
thus provides a means to evaluate or aid in the design of packed columns used for
air pollution control.
2. 2 Using the computer program prepared in (1) and given the following data, determine
the liquid flow required to remove 97% of SO2 from the stack gas of a coal-fired
furnace.
3. Column diameter = 3.00 m
4. Operating temperature = 25C
5. Operating pressure = 1 atm
6. Gas flow rate = 30,000 m3/h
7. SO2 inlet concentration = 20,000 ppm
Solution
1 For solution to Example 7.31 (1), see the listing of Program 7.31, which includes all the
elements in Equation 7.51.
2 Convert 20,000 ppm SO2 to g/m3 using Equation 7.1 at STP:
which yields
'******************************************************************************
'Example 7.31: A program that can be used to evaluate
'or aid in the design of packed columns
'absorption towers used for air pollution
'control.
'******************************************************************************
Public Class Form1
Dim inconc, gasmolwgt, airdens, airmolwgt, outconc As Double
Dim inconck, outconck, yb1, yb2, yb, ya1, ya, xa As Double
Dim factor, strea As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Exercise 7.31:"
Me.MaximizeBox = False
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Label2.Text = "A program that can be used to evaluate or aid in the"
Label2.Text += vbCrLf + "design of packed columns absorption towers used
for air pollution control."
Label2.Text += vbCrLf + "The formula:"
Label2.Text += vbCrLf + "L[1] * ((X[a]/(1-X[a]) (X[b]/1-X[b])) = "
Label2.Text += vbCrLf + "G[1] * ((Y[a]/(1-Y[a]) (Y[b]/1-Y[b])) "
Label3.Text = "Enter the inlet concentration of the gas (ppm)"
Label4.Text = "Enter the molecular weight of the gas"
Label5.Text = "Enter the air density (kg/m{3})"
Label6.Text = "Enter the molecular weight of the air"
Label7.Text = "Enter the percentage of removal of the gas (%)"
Label1.Text = "The incoming distilled water has none of the gas;
therefore X[A] = 0"
Label8.Text = "Enter the value for the # in the following given
equilibrium equation"
Label8.Text += vbCrLf + "- Y[B] = #X[B]"
Label9.Text = "Enter the gas flow rate (m3/hr)"
Button1.Text = "&Calculate"
End Sub
Sub calculateResults()
inconc = Val(TextBox1.Text)
gasmolwgt = Val(TextBox2.Text)
airdens = Val(TextBox3.Text)
airmolwgt = Val(TextBox4.Text)
outconc = Val(TextBox5.Text)
If outconc > 1 Then outconc /= 100
outconc = 1 - outconc
factor = Val(TextBox6.Text)
strea = Val(TextBox7.Text)
inconck = inconc * gasmolwgt * 10 ^ -6 / 24.46
outconck = inconck * outconc
7.3.8 ADSORPTION
Adsorption is a phenomenon by which gases, liquids, and solutes within liquids are attracted,
concentrated, and retained at a boundary surface (Air Pollution Training Institute 1983). In air
pollution control, this process involves the retention of molecules from the gas phase onto a solid
surface. A typical process consists of passing a contaminated gas stream through a container filled
with an absorbent such as activated carbon, activated alumina, silica gel, acid-treated clay, molecular
sieve, Fullers earth, or magnesia.
In the air pollution field, gas adsorption can be used to remove VOCs, H2S, SO2, and NO2 from
contaminated air streams. In industry, adsorption is used to recover valuable volatile solvents such as
benzene, ethanol, trichloroethylene, and Freon.
Adsorption involves either physical adsorption (physiosorption) or chemical adsorption
(chemisorption). With physical adsorption, the attractive forces consist of Van der Waals interactions,
dipoledipole interactions, and/or electrostatic interactions (Air Pollution Training Institute 1983).
An example of physical adsorption is when a contaminant in a gas stream is adsorbed onto activated
carbon. In physical adsorption, the adsorbed layer generally is considered to be several molecules
thick (multilayer adsorption).
In chemical adsorption, the contaminant gas molecules form a chemical bond with the adsorbent,
and the gas (adsorbate) is held strongly to the solid surface (adsorbent) by valence forces. An
example of chemical adsorption is the adsorption of oxygen by activated charcoal to form carbon
monoxide (CO) and carbon dioxide (CO2). The CO and CO2 are not easily removed from the
activated carbon, and this can only be accomplished at elevated temperatures. Chemical adsorption is
usually limited to the formation of a single layer of molecules on the surface of the adsorbent
(monolayer adsorption) (Air Pollution Training Institute 1983). The variables affecting gas adsorption
are as follows: Concentration of the contaminant in the gas stream
Surface area of the adsorbent
Temperature of the system
Presence of other competing contaminant gases
Characteristics of the adsorbent, such as weight, electrical polarity, and chemical reactivity The
relationship between the amount of pollutant adsorbed by the adsorbent under equilibrium
conditions and at a constant temperature is called an adsorption isotherm. An isotherm is a
graphical representation of the adsorbents capacity versus the partial pressure of the absorbate
(contaminant) at a particular temperature (Lee 2005). Adsorption isotherms are useful in
providing a means of evaluating the following: Quantity of gas adsorbed at various
concentrations
Adsorption capacity of the adsorbent at various gas concentrations Adsorption capacity of the
adsorbent for various gases
Surface areas for a given amount of adsorbent
A graphical plot of the amount of the gas absorbed per gram of adsorbent at various gas
concentrations at equilibrium and under conditions of constant temperature produces isotherms with
many shapes. Specific isotherms have been developed by Freundlich, Langmuir, and Brunauer,
Emmett, and Teller (BET).
Only the Freundlich isotherm will be considered here. The Freundlich isotherm is a purely
empirical equation valid for monomolecular physical and chemical adsorptions. The equation is
(7.52)
where:
X/M is the mass (X) of the element or contaminant adsorbed from solution per unit mass of
adsorbent (M) K and n are the constants fitted from the experimental data
C is the concentration of the contaminant in the gas phase at equilibrium
By taking the logarithm of both sides, this equation is converted to a linear form:
(7.53)
If the experimental data fit the Freundlich adsorption isotherm, a plot of log X/M versus log C gives a
straight line as shown in Figure 7.10. If a vertical line is erected from a point on the horizontal scale
corresponding to the initial contaminant concentration (C0) and the isotherm extrapolated to intersect
that line, the X/M value at this point of intersection can then be read from the vertical scale. The value
of (X/M)C0 represents the amount of contaminant adsorbed per unit weight of adsorbent when that
adsorbent is in equilibrium with the initial contaminant concentration. This represents the ultimate
sorption capacity of the adsorbent for that contaminant (Culp et al. 1978).
FIGURE 7.10 Straight-line form of the Freundlich adsorption isotherm.
The Freundlich equation is most useful for dilute solutions over small concentration ranges. The 1/n
value represents the slope or change in rate of effectiveness in uptake with varying amounts of
adsorbent, and K, the ordinate intercept, the fundamental effectiveness of the adsorbent. High K and
high n values indicate high adsorption capacities; low K and high n values indicate low adsorption
capacities; low n values or a steep slope indicates high adsorption at high contaminant levels and low
adsorption at low contaminant levels (Ford 1975). Both graphical and computer analyses can be made
for the Freundlich adsorption isotherm (Chansler et al.1995).
In the air pollution control field, adsorption systems can be either nonregenerative or regenerative.
They also can be fixed, moving, or fluidized beds. Nonregenerative adsorption systems have thin beds
and are economical only when the contaminant level in the gas stream is in the g/m3 or ppm range.
Regenerative beds are generally thick and are designed to handle considerable contaminant loadings
with the additional advantage of the recovery of a valuable solvent (see Figure 7.11a,b).
where:
CB is the breakthrough capacity, fractional
Cs is the saturation capacity, fractional
MTZ is the mass transfer zone, cm
D is the adsorption bed depth, cm
(7.55)
where:
Cs is the saturation capacity, fractional
WAE is the weight of adsorbate, g or kg
WAT is the weight of adsorbent, g or kg
When an adsorbent bed is regenerated, it is not economical to remove absolutely all the adsorbate
(contaminant). The residual contaminant in the adsorbent after regeneration is called the heel. The
practical capacity or working capacity of an adsorbent can be computed as follows (Air Pollution
Training Institute 1984):
(7.56)
where:
Wc is the working capacity of adsorbent, fractional
H is the heel, fractional
PF is the packing factor, fractional
The working capacity is lower than the breakthrough or saturation capacity. The packing factor is
determined experimentally for each adsorbent. The time required before an adsorbent needs to be
regenerated is an important parameter in the operation of an adsorption system. An estimate of the
time an adsorbent can be left in operation can be computed by using the following equation (Turk
1977):
(7.57)
where:
t is the duration of adsorbent service before saturation, h
S is the proportionate saturation of sorbent, fractional
W is the weight of adsorbent, kg
E is the sorption efficiency, fractional
Q is the airflow rate through sorbent bed, m3/h
M is the average molecular weight of sorbed vapor, g/mol
C is the entering vapor concentration, ppm by volume
Examples 7.32 and 7.33 demonstrates the use of Equations 7.52 through 7.57.
Example 7.32
Given the following data for the uptake or adsorption of benzene by activated carbon from a gas
stream, determine if these data fit the Freundlich isotherm; if so, then determine the K and n values
as well as the ultimate adsorption capacity of the activated carbon (X/M)C0 for benzene at its
initial concentration.
Activated Carbon (g)(M) Residual Benzene Concentration (g/m3 ) (C0 = 30) Benzene Adsorbed (g)(X) (X/M)
0
200 20 11 0.055
300 15 15 0.050
500 11 19 0.038
650 8 22 0.034
900 5 25 0.028
1600 2 28 0.018
Solution
The data plot a straight line on loglog paper, indicating the data fit the Freundlich isotherm (see
the following graph). The K and 1/n constants are 0.012 and 0.52, respectively. The ultimate
capacity of the activated carbon for benzene adsorption at 30 g/m3 is 0.07 g/g, or 7 g of benzene
can be adsorbed by 100 g of this activated carbon.
Example 7.33
1 Prepare a computer program incorporating all the elements in Equation 7.52 (Freundlich
isotherm) that makes it possible to determine the constants K and n as well as the
adsorbents ultimate capacity (X/M)C0.
2 Using the computer program developed in (1), determine the K and n values as well as
the adsorbents ultimate capacity (X/M)C0 for toluene adsorption.
Solution
1 For solution to Example 7.33 (1), see the listing of Program 7.33.
2 These data plot a straight line on loglog paper indicating it follows the Freundlich
isotherm (see the following graph). The K and 1/n constants are 0.017 and 0.45,
respectively. The ultimate capacity of this activated carbon for toluene adsorption at 40
g/m3 was 0.09 g/g, or 9 g of toluene can be adsorbed on 100 g of activated carbon.
Activated Carbon (g)(M) Residual Toluene Concentration (g/m3 )(C0 = 40 g/m3 ) Toluene Adsorbed (g) (X) (X/M)
100 32 8 0.08
240 24 16 0.067
430 15 25 0.058
600 11 29 0.048
1000 5 35 0.035
2500 1 39 0.016
'******************************************************************************
'Example 7.33: Freundlich adsorption isotherm:
' a retyped version from older program.
'******************************************************************************
Imports System.Math
Public Class Form1
Dim M(), C(), X(), Q() As Double
Dim N, Cont As String
Dim T, Co As Double
Dim a, b As Double
Dim sum1X, sum1Y, sum2X, sum2Y As Double
'****************************************************************************
'Calculates the straight line equation from the
'scattered point data. The algorithm used is:
'(1) Divide data into two sets
N = TextBox2.Text
Cont = TextBox3.Text
Co = Val(TextBox4.Text)
Dim count = DataGridView1.Rows.Count - 1
ReDim M(count), C(count), X(count), Q(count)
For i = 0 To count - 1
M(i) = DataGridView1.Rows(i).Cells("MCol").Value
C(i) = Val(DataGridView1.Rows(i).Cells("CCol").Value)
X(i) = CO - C(i)
Q(i) = X(i) / M(i)
Next
'PRINT DATA
Dim s As String
s = "[M] [C] [X] [X/M]"
s += vbCrLf + " Concentration Amount "
s += vbCrLf + " remaining absorbed "
s += vbCrLf + "grams g/m{3} g/m{3} mg/g"
s += vbCrLf + "----- ------------- -------- -----"
For i = 0 To count - 1
s += vbCrLf + Format(M(i), "00.00 ").ToString
s += Format(C(i), "00.000 ").ToString
s += Format(X(i), "00.000 ").ToString
s += Format(Q(i), "00.000").ToString
Next
s += vbCrLf + "Initial concentration was " + Co.ToString + " g/m{3}"
get_line_equ()
s += vbCrLf + "Slope = " + FormatNumber(b, 4)
s += vbCrLf + "Intercept = " + FormatNumber(a, 4)
s += vbCrLf + "Ultimate sorption capacity of absorbent = " +
FormatNumber(get_Y_value(Co), 4) + " g/g"
TextBox1.Text = s
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
End Sub
End Class
Example 7.34
Calculate the breakthrough capacity and the working capacity of an adsorption bed using
Equations 7.54 and 7.56, given the following data (neglect the packing factor, PF): Depth of
adsorption bed = 1 m (100 cm)
Saturation capacity = 42%
MTZ (mass transfer zone) = 10 cm
Heel = 2%
Solution
CB = Breakthrough capacity:
(7.58)
(7.59)
Example 7.35
1 Prepare a computer program that incorporates all the elements in Equations 7.50 and
7.52 so that the breakthrough and working capacities of an absorbent can be determined,
given the depth of bed, the saturation capacity, mass transfer zone, and heel.
2 Using the computer program developed in (1) and given the following data, calculate the
breakthrough capacity and the working capacity for this absorbent bed.
Depth of adsorption bed = 50 cm
Saturation capacity = 0.75
MTZ = 3 cm
Heel = 2.5%
Solution
1 For a solution to Example 7.35 (1), see the listing of Program 7.35.
2 A solution to Example 7.35 (2): Breakthrough capacity, CB = 0.5(.75)(3) + .75(50
3)/50 = 0.7275 = 72.8%
Working capacity, Wc = 72.8 2.5 = 70.3%
'******************************************************************************
'Example 7.35: A program to calculate the breakthrough
'capacity and the working capacity of an
'adsorption bed.
'******************************************************************************
Public Class Form1
Dim cap, MTZ, depth, heel As Double
Dim cb, Wc As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Example 7.35: Adsorption
bed capacity"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Example 7.35: A program to calculate the breakthrough
capacity and"
Label1.Text += vbCrLf + "the working capacity of an adsorption bed"
Label1.Text += vbCrLf + "The formulas:"
Label1.Text += vbCrLf + "C[B] = (0.5 * C[s] * (MTZ) + C[s] * (D
MTZ))/D"
Label1.Text += vbCrLf + "W[c] = C[B] H PF"
Label2.Text = "Enter the saturation capacity (C[s])"
Label3.Text = "Enter the value of MTZ (in cm)"
Label4.Text = "Enter the adsorption bed depth (D) in cm"
Label5.Text = "Enter the heel value (H) in %"
Label6.Text = ""
Label7.Text = "Decimals:"
Button1.Text = "&Calculate"
GroupBox1.Text = ""
NumericUpDown1.Value = 2
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
End Sub
Sub calculateResults()
cap = Val(TextBox1.Text)
MTZ = Val(TextBox2.Text)
depth = Val(TextBox3.Text)
heel = Val(TextBox4.Text)
Dim comp1, comp2, comp3, comp4, cb1 As Double
Comp1 = 0.5 * cap * MTZ
Comp2 = depth - MTZ
Comp3 = cap * comp2
Comp4 = comp1 + comp3
Cb1 = comp4 / depth
Cb = cb1 * 100
Wc = cb - heel
End Sub
Sub showResults()
Label6.Text = "Breakthrough capacity (C[B]) = " + FormatNumber(cb,
NumericUpDown1.Value) + "%"
Example 7.36
An activated carbon adsorption bed is used to remove trichloroethylene (TCE) from an air
stream at 21C and 1 atm. The actual flow rate is 12,730 m3/h, and the inlet TCE concentration is
2000 ppm by volume (MW of TCE = 131.5). Estimate the service time of the adsorbent before
saturation. The proportionate saturation of the adsorbent is taken to be 0.2. The activated carbon
bed is in a cylinder-type configuration, 1.36 m in radius and 1 m deep (V = r2h = 3.14 1.85 1
m = 5.8 m3). The density of the adsorbent is 480 kg/m3. The sorption efficiency is 99.5%.
Solution
Using Equation 7.57, the estimated service time of the adsorbent would be
Example 7.37
1 Prepare a computer program that incorporates all the elements in Equation 7.57, which
makes it possible to estimate the adsorbents service time before regeneration.
2 An adsorption bed of activated carbon is to be used to remove acetone (MW = 58.08)
from an air stream. The bed is 4 m thick and has a surface area of 6 m2. The gas flow rate
is 5,000 m3/h. The density of the activated carbon is 400 kg/m3. The inlet acetone
concentration is 110,000 pp. The proportionate saturation of the adsorbent is taken to be
0.2. The sorption efficiency is 99.5%. Using Equation 7.57, estimate the service time of
the adsorbent before regeneration is required.
Solution
1 For a solution to Example 7.37 (1), see the listing of Program 7.37, which incorporates
all the elements in Equations 7.52, and 7.57.
2 A solution to Example 7.37 (2):
'******************************************************************************
'Example 7.37: A program to estimate the adsorbents
' service time before regeneration.
'******************************************************************************
Public Class Form1
Dim V, thick, surface As Double
Dim S, dens, e, q, m, C As Double
Dim comp1, comp2, t As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Example 7.37:"
Me.MaximizeBox = False
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Label1.Text = "Example 7.37: A program to estimate the adsorbents
service time"
Label1.Text += vbCrLf + "before regeneration."
Label1.Text += vbCrLf + "The formula:"
Label1.Text += vbCrLf + "t = (2.41E7 * S * W)/(E * Q * M * C)"
Label2.Text = "Is the adsorption bed square (1) or cylindrical (2)?"
RadioButton1.Text = "Square"
RadioButton2.Text = "Cylindrical"
RadioButton1.Checked = True
Label5.Text = "Enter the proportionate saturation of adsorbent
(fractional) (x.x)"
Label6.Text = "Enter the density of the adsorbent (kg/m{3})"
Label7.Text = "Enter the adsorbent efficiency (fractional .xxx)"
Label8.Text = "Enter the gas flow rate through the bed (m{3}/h)"
Label9.Text = "Enter the molecular weight of the sorbed vapor (gm/mol)"
Label10.Text = "Enter the entering vapor concentration (ppm by volume)"
Label11.Text = ""
Label12.Text = "Decimals:"
Button1.Text = "&Calculate"
NumericUpDown1.Value = 2
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
changeDisp()
End Sub
'Changes the the first textboxes' labels according to the radiobutton
selected.
Sub changeDisp()
If RadioButton1.Checked Then
Label3.Text = "Enter the depth of the bed of adsorbent (m)"
Label4.Text = "Enter the diameter of the cylinder (m)"
Else
Label3.Text = "Enter the thickness of the bed of adsorbent (m)"
Label4.Text = "Enter the surface area of the adsorbent (m{2})"
End If
End Sub
Sub calculateResults()
thick = Val(TextBox1.Text)
surface = Val(TextBox2.Text)
If RadioButton1.Checked Then
V = 3.14 * thick * surface
Else
V = thick * surface
End If
S = Val(TextBox3.Text)
dens = Val(TextBox4.Text)
e = Val(TextBox5.Text)
q = Val(TextBox6.Text)
m = Val(TextBox7.Text)
C = Val(TextBox8.Text)
comp1 = 24100000.0 * S * V * dens
comp2 = e * q * m * C
t = comp1 / comp2
End Sub
Sub showResults()
Label11.Text = "The time, t = " + FormatNumber(t, NumericUpDown1.Value)
+ " hours"
End Sub
7.4.1 INTRODUCTION
Dispersion modeling is a procedure used to estimate the ambient air pollutant concentrations at
various locations (receptors) downwind of a source, or any array of sources, based on emission rates,
release specifications, and meteorological factors such as wind speed, wind direction, atmospheric
stability, mixing height, and ambient temperature (Office of Air Quality Planning and Standards 1989).
Air quality models can be categorized into four generic classes: Gaussian, numerical, statistical or
empirical, and physical. Gaussian models generally are considered to be state-of-the-art techniques
used for estimating the environmental impact of nonreactive pollutants. Numerical models are more
appropriate than Gaussian models for multisource applications that involve reactive pollutants.
Statistical or empirical models frequently are used in situations where incomplete scientific
understanding of the physical and chemical processes makes use of a Gaussian or numerical model
impractical. Physical modeling involves the use of wind tunnels or other fluid modeling facilities.
Physical modeling is a complex process and applicable to a limited geographic area of only a few
square kilometers (Zackay and Rowe 1984/1985).
In the United States, the 1977 Clean Air Act Amendments required that air quality models be used
to identify potential violations of the NAAQS and to determine emission limits (Office of Air Quality
Planning and Standards 1978).
A wide variety of air quality models are available to evaluate and simulate atmospheric dispersion
processes. Two modeling systems used by the EPA are the Industrial Source Complex (ISC2) model
and the SCREEN2 model. The SCREEN2 model is a scoping model that can be used to evaluate the
air quality and estimate whether or not a given source is likely to pose a threat and cause the NAAQS
to be exceeded. This type of dispersion model is used first, before going to a regulatory model in
order to evaluate air quality conditions. The Industrial Source Complex model is more precise that a
screening model uses local data to predict the levels of pollutants at a specific place (Air Pollution
Training Institutre 1992). The EPA ISC2 model is a Gaussian dispersion model and has both a long-
term module (ISCLT) and a short-term module (ISCST) (Lee 2005).
The Office of Air Quality Planning and Standards (OAQPS) of the U.S. EPA, through the
Technology Transfer Network (TTN), has established an electronic bulletin board system (BBS),
which allows remote users with either terminals or microcomputers to dial up and have access to
numerous air quality models (U.S. EPA 2013). Only two air quality models will be considered here:
the basic Gaussian model and the SCREEN2 model. First, however, the equations, formulas, models,
or procedures used to estimate the effective stack height will be presented.
(7.60)
where:
H is the effective stack height, m
h is the physical stack height, m
h is the rise of the plume above the stack, m
The plume rise which is part of the effective stack height is an important element in estimating the
maximum downwind ground-level concentration of a pollutant emitted from a stack. The maximum
downwind ground-level concentration of a pollutant is reduced approximately by the inverse square
of the effective stack height. For example, if the effective stack height is doubled, the maximum
downwind ground-level concentration on the centerline of the plume will be reduced by a factor of 4
(see Figure 7.12b).
Numerous systems are available to estimate the effective stack height. The names of a few of these
equations, models, or procedures are as follows.
Bryant-Davidson
Bosanquet
Concawer
Briggs
Moses and Carson
Holland
Only the well-known Holland equation will be presented here (Holland 1953):
(7.61)
where:
vs is the stack gas velocity, m/s
u is the mean wind speed at stack height, m/s
d is the stack inner diameter, m
p is the atmospheric pressure, mb
Ts is the stack gas temperature, K
Ta is the atmospheric temperature, K
Equation 7.61 is valid for neutral stability conditions; however, Holland suggests that the plume
rise be adjusted by a factor of from 1.1 to 1.2 for unstable conditions such as stability types A and B
and from 0.8 to 0.9 for stability conditions E and F (see Table 7.8) (Turner 1969, Air Pollution
Training Institute 1982).
TABLE 7.8
Pasquill Stability Types
Surface Wind Speed (m/s) Day Night
Incoming Solar Radiation (Sunshine) Thinly Overcast or 4/8 Low Cloud 3/8 Low Cloud
Strong Moderate Slight
<2 A AB B
2 AB B C E F
4 B BC C D E
6 C CD D D D
>6 C D D D D
Sources: Turner, D.B., Workbook of Atmospheric Dispersion Estimates, Cincinnati, OH, National Air Pollution Control
Administration, 31, 1969; Air Pollution Training Institute, Basic Air Pollution Meteorology, (SI:409), Research Triangle Park,
NC, U.S. Environmental Protection Agency, 1982.
Note:A, extremely unstable; B, moderately unstable; C, slightly unstable; D, neutral; E, slightly stable; F, moderately stable. Neutral class
D should be assumed for overcast conditions during day or night.
To estimate the mean wind speed (u) at the top of the stack, an empirical formula can be used. This
formula generally is considered appropriate for estimating wind speed at various heights up to 700
1000 m. This simple formula, or power law, is as follows:
(7.62)
where:
v is the wind speed at height z, m/s
v0 is the wind speed at anemometer level z0, m/s
k is the exponent or coefficient, dimensionless
The exponent k in the past has been taken generally as 1/7; however, recent research has provided
values for k depending upon the stability class. Table 7.9 presents k values for each stability class.39
Examples 7.38 and 7.39 demonstrate the use of Equations 7.60 through 7.62.
TABLE 7.9
Average Values of Wind Profile Power Law Exponents (k) by Stability Class
Pasquill Stability Class Average Value of Exponent
A 0.141
B 0.176
C 0.174
D 0.209
E 0.277
F 0.414
Ga 0.435
Source: From Touma, J.S., J. Air Pollut. Control Assoc., 27, 863, 1977. With permission.
a
Pasquill stability class G is considered to be very stable.
Example 7.38
Determine the effective stack height, given the following data:
Physical stack height, h = 183 m inside diameter, with d = 6 m
Wind velocity at anemometer level (2 m above ground) = 5 m/s
Air temperature = 10C
Atmospheric pressure = 1000 mbar
Stack gas velocity = 16 m/s
Stack gas temperature = 135C
Class B Pasquill stability type
Solution
Determine the mean wind speed at the top of the stack; use Equation 7.62.
rise, h:
Use Equation 7.60 to determine the effective stack height: H = 183 m + 56 M = 239 m
Example 7.39
1 Prepare a computer program that will determine the effective stack height, given all the
required elements contained in Equations 7.60 through 7.62.
2 Using the computer program developed in (1), compute the effective stack height, given
the following data: Physical stack height h = 50 m with inside diameter d = 3.5 m
Wind velocity at anemometer level (4 m above ground level) = 10 m/s
Air temperature = 0C
Atmospheric pressure = 1000 mbar
Stack gas velocity = 20 m/s
Stack gas temperature = 150C
Class C Pasquill stability type
Solution
1 For a solution to Example 7.39 (1), see the listing of Program 7.39, which includes the
elements in Equations 7.60 through 7.62. This computer program can be used to estimate
the effective stack height.
a A solution to Example 7.39 (2): Determine the mean wind speed at the top of the stack
2
(50 m); use Equation 7.62:
***************************************************************************
'Example 7.39: A program to determine the effective stack height.
'***************************************************************************
Public Class Form1
Dim hT, h, dh, k, z0 As Double
Dim v, v0, vs, d, p, Ts, Ta As Double
Dim k_table() As Double =
{0.141, 0.176, 0.174, 0.209, 0.277, 0.414, 0.435}
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Example 7.39: Effective
stack height"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Example 7.39: A program to determine the effective
stack height."
Label1.Text += vbCrLf + "The formulas:"
Label1.Text += vbCrLf + "H = h + (delta)h"
Label1.Text += vbCrLf + "delta(h) = ((v[s] * d) / u) * (1.5 + 2.68(10)
{-3} r((T[s] - T[a]) / T[s])d)"
Label1.Text += vbCrLf + "v/v[o] = (z / z[o]){k}"
Label2.Text = "Enter the physical stack height, h (m)"
Label3.Text = "Enter the inside diameter of the stack, d (m)"
Label4.Text = "Enter the wind velocity at anemometer level, v0 (m/s)"
Label5.Text = "Enter the anemometer height above ground level, z0 (m)"
Label6.Text = "Enter the air temperature, Ta (C)"
Label7.Text = "Enter the atmospheric pressure, p (mbar)"
Label8.Text = "Enter the stack gas velocity, vs (m/s)"
Label9.Text = "Enter the stack gas temperature, Ts (C)"
Label10.Text = "Pasquill stability class"
Label11.Text = ""
Label12.Text = "Decimals:"
NumericUpDown1.Value = 2
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
GroupBox1.Text = ""
ComboBox1.Items.Clear()
ComboBox1.Items.Add("A")
ComboBox1.Items.Add("B")
ComboBox1.Items.Add("C")
ComboBox1.Items.Add("D")
ComboBox1.Items.Add("E")
ComboBox1.Items.Add("F")
ComboBox1.Items.Add("G")
ComboBox1.SelectedIndex = 0
Button1.Text = "&Calculate"
End Sub
Sub calculateResults()
Dim index As Integer = ComboBox1.SelectedIndex
If index = -1 Then
MsgBox("Please select Pasquill stability class.",
vbOKOnly Or vbExclamation)
Exit Sub
End If
k = k_table(index)
h = Val(TextBox1.Text)
d = Val(TextBox2.Text)
v0 = Val(TextBox3.Text)
z0 = Val(TextBox4.Text)
Ta = Val(TextBox5.Text) + 273
p = Val(TextBox6.Text)
vs = Val(TextBox7.Text)
Ts = Val(TextBox8.Text) + 273
v = v0 * ((h / z0) ^ k)
dh = ((vs * d) / v) * (1.5 + (0.00268 * p * ((Ts - Ta) / Ts) * d))
hT = h + dh
End Sub
Sub showResults()
Dim decimals As Integer = NumericUpDown1.Value
If decimals < 0 Or decimals > 10 Then decimals = 2
Label11.Text = "Wind speed at the top of the stack = " +
FormatNumber(v, decimals) + " m/s"
Label11.Text += vbCrLf + "The plume rise dh = " + FormatNumber(dh,
decimals) + " m"
Label11.Text += vbCrLf + "The effective stack height = " +
FormatNumber(hT, decimals) + " m"
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
showResults()
End Sub
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles NumericUpDown1.ValueChanged
showResults()
End Sub
End Class
7.4.3 DISPERSION MODELS
(7.63)
where:
(x, y) are the receptor coordinates, m
is the ground-level concentration, g/m3
Q is the emission rate, g/s
H is the effective stack height, m
is the mean wind speed, m/s y, and z are the dispersion coefficients, m = 3.14159
exp is the base of natural log, 2.7182818
Equation 7.63 can be simplified if only the ground-level downwind concentrations along the centerline
of the plume are needed. In this case, y = 0, and the equation then becomes
(7.64)
The units for this equation are the same as for Equation 7.63. See Figure 7.15a for a schematic
presentation of this equation (Turner 1969, Air Pollution Training Institute 1982).
FIGURE 7.15 (a) Schematic of ground-level concentration underneath the center line of the plume. (b)
Schematic of contaminants generated under ground-level conditions.
Equation 7.64 may be further simplified if the effective stack height is H = 0. In this case, the source,
such as a burning dump, is at ground level. Equation 7.59 can then be used to calculate the ground-level
downwind concentrations (Turner 1969, Air Pollution Training Institute 1982):
(7.65)
The units for this equation are the same as for Equations 7.63 and 7.64. Figure 7.15b is a graphical
schematic presentation of this equation (Turner 1969, Air Pollution Training Institute 1982).
The maximum downwind ground-level concentration of a contaminant occurs on the centerline of the
plume. The maximum downwind ground-level concentration can be estimated by taking the differential of
a modified version of Equation 7.63, resulting in the following expression (Colls and Tiwary 2009):
(7.66)
This equation holds true, provided z/y are constants with downwind distance x. This gives a rough
approximation of the maximum downwind ground-level concentration and is a much better approximation
for unstable conditions than for stable conditions (Turner 1969).
The distance at which the maximum downwind ground-level concentration occurs can then be estimated
by using the vertical dispersion coefficient z (Figure 7.14b) and the appropriate stability type. Examples
7.40 and 7.41 demonstrate the use of the dispersion modeling equations.
Example 7.40
A modern 700-MW coal-fired power plant operates under the following conditions: Stack height = 203
m
Inside stack diameter = 7 m
Stack gas exit velocity = 16 m/s
Stack gas temperature = 160C
Ambient air temperature = 24C
The average wind speed at anemometer level (2 m above ground level) = 4 m/s Atmospheric pressure =
1000 mbar
Atmospheric conditions are neutral stability (type D)
Emission rate for SO2 from the stack = 4000 g/s
Determine the effective stack height using Hollands equation (7.61). What is the maximum downwind
ground-level concentration and how far is this from the plant? What would the expected ground-level
concentration be at 300 m crosswind from the point on the plume center-line where the maximum
downwind ground-level concentration occurred? Do the emissions from this plant cause the U.S.
NAAQS, 24-h standards for SO2 at ground-level downwind from the plant to be exceeded?
Solution
Determine the mean wind speed at the top of the stack; use Equation 7.62:
Determine the expected ground-level concentration at 300 m crosswind from the point of maximum
downwind ground-level concentration; use Equation 7.63.
From Table 7.1, the primary U.S. NAAQS standard for the 24-h SO2 level is 365 g/m3, whereas the
3-h secondary SO2 standard is 1300 g/m3. In this case, the emissions of SO2 from this plant do not
cause the downwind SO2 ambient air concentrations to exceed the standards. However, field testing
would be necessary to confirm this.
Example 7.41
1 Prepare a computer program that incorporates all the elements in Equations 4.63 through 4.66.
2 Using the computer program developed in (1), compute the maximum downwind ground-level
a concentration, given the following data: A manufacturing plant emits nitrogen dioxide (NO2) on
a continuous 24-h/day basis. What is the concentration of NO2 at a receptor 8 km downwind of
the plant? Does this plant cause concentrations at the receptor to be in excess of the primary and
secondary U.S. NAAQS?
b The effective stack height for this plant is 60 m.
c The NO2 emission rate is 100 g/s.
d The wind speed at the top of the stack is 15.5 m/s.
e Pasquill stability type is moderately stable, type F.
Solution
1 For a solution to Example 7.41 (1), see the listing of Program 7.41.
2 A solution to Example 7.41 (2):
b The U.S. NAAQS for NO2 (Table 7.1) for the primary and secondary standards is 100 g/m3, with
an averaging time of 1 year. The receptor in this case would not be exposed to NO2 concentrations
above the standard.
'*********************************************************************************
'Example 7.41: A program to compute the max. downwind
' groundlevel concentration
'*********************************************************************************
Public Class Form1
Dim u, wind, sheight, aheight, stabil As Double
Dim vel, dia, pres, airtemp, stemp As Double
Dim q, sy As Double
Dim k_table() As Double =
{0.141, 0.176, 0.174, 0.209, 0.277, 0.414, 0.435}
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Example 7.41: Max. downwind
groundlevel concentration"
Me.MaximizeBox = False
Label1.Text = "Dispersion coefficients (sigma)[y] and (sigma)[z] will be
represented by the letter S."
GroupBox1.Text = "Is the mean wind speed at the top of the stack is
provided?"
RadioButton1.Text = "Yes"
RadioButton2.Text = "No"
RadioButton1.Checked = True
Label2.Text = "Enter wind speed at the top of the stack u (m/s)"
Label3.Text = "Enter the wind velocity at anemometer level u (m/s)"
Label4.Text = "Enter the stack height (m)"
Label5.Text = "Enter the anemometer height above ground level (m)"
Label6.Text = "Select stability type class"
Label7.Text = ""
GroupBox2.Text = "Is the effective stack height for this plant is
provided?"
RadioButton4.Text = "Yes"
RadioButton3.Text = "No"
RadioButton4.Checked = True
Label13.Text = "Enter the effective stack height for this plant (m)"
Label12.Text = "Enter the emission rate (g/s)"
Label11.Text = "The Pasquill stability type data is provided. S[y] is
read from the tables"
TextBox11.Enabled = False
TextBox12.Enabled = False
TextBox13.Enabled = False
Label9.Enabled = False
Label8.Enabled = False
Label10.Enabled = True
Label11.Enabled = True
Label13.Enabled = True
Label14.Enabled = False
Label15.Enabled = False
Label16.Enabled = False
Label17.Enabled = False
Else
TextBox6.Enabled = True
TextBox7.Enabled = True
TextBox8.Enabled = False
TextBox10.Enabled = False
TextBox11.Enabled = True
TextBox12.Enabled = True
TextBox13.Enabled = True
Label8.Enabled = True
Label9.Enabled = True
Label10.Enabled = False
Label11.Enabled = False
Label13.Enabled = False
Label14.Enabled = True
Label15.Enabled = True
Label16.Enabled = True
Label17.Enabled = True
End If
End Sub
Sub calculateResults()
Dim COMP1, COMP2, COMP3, COMP4, COMP5, COMP6, COMPT As Double
Dim ta, ts, dh, h As Double
Dim decimals As Integer = NumericUpDown1.Value
If decimals < 0 Or decimals > 10 Then decimals = 2
If RadioButton1.Checked Then
u = Val(TextBox1.Text)
Else
Dim k_index As Integer = ComboBox1.SelectedIndex
If k_index = -1 Then
MsgBox("Please select Pasquill stability class.", vbOKOnly Or
vbExclamation) Exit Sub
End If
stabil = k_table(k_index)
wind = Val(TextBox2.Text)
sheight = Val(TextBox3.Text)
aheight = Val(TextBox4.Text)
COMP1 = sheight / aheight
COMP2 = COMP1 ^ stabil
u = wind * COMP2
Label7.Text = "Wind speed at the top of the stack = " + FormatNumber(u,
decimals) + " m/s"
End If
q = Val(TextBox9.Text)
If RadioButton4.Checked Then
h = Val(TextBox10.Text)
sy = Val(TextBox8.Text)
Else
vel = Val(TextBox7.Text)
dia = Val(TextBox6.Text)
pres = Val(TextBox12.Text)
airtemp = Val(TextBox11.Text)
stemp = Val(TextBox13.Text)
sy = 1000
ta = airtemp + 273
ts = stemp + 273
COMP3 = (vel * dia) / u
COMPT = (ts - ta) / ts
COMP4 = pres * COMPT * 0.001
COMP5 = 2.68 * COMP4 * dia
COMP6 = 1.5 + COMP5
dh = COMP3 * COMP6
Label17.Text = "The plume rise, (delta)h = " + FormatNumber(dh,
decimals) + " m"
h = sheight + dh
Label17.Text += vbCrLf + "The effective stack height = " +
FormatNumber(h, decimals) + " m"
End If
Dim sz, den1, half1, den2, half2, xg, xu As Double
sz = h * 0.707
den1 = Math.PI * u * sy * sz
half1 = q / den1
den2 = -0.5 * ((h / sz) * (h / sz))
half2 = Math.Exp(den2)
xg = half1 * half2
xu = xg * 1000000
Label18.Text = "The maximum downwind groundlevel concentration "
Label18.Text += vbCrLf + "is " + FormatNumber(xu, decimals) + " ug/m{3}"
End Sub
Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged changeDisp()
End Sub
Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged changeDisp()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click calculateResults()
End Sub
Private Sub RadioButton4_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles RadioButton4.CheckedChanged changeDisp()
End Sub
Private Sub RadioButton3_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles RadioButton3.CheckedChanged changeDisp()
End Sub
End Class
where:
is the concentration, g/m3
Q is the emission rate, g/s
= 3.141593
us is the stack height wind speed, m/s
y is the lateral dispersion parameter, m
z is the vertical dispersion parameter, m
zr is the receptor height above ground, m
he is the plume center line height, m
zi is the mixing height, m
k is the summation limit for multiple reflections of plume off of ground and elevated inversion, usually
4
This SCREEN2 model can be used for point sources or area sources (Office of Air Quality Planning
and Standards 1992).
For point sources, the inputs needed are as follows:
Other information that must be considered in the SCREEN2 model is as follows: Mixing height
Worst-case meteorological conditions
Plume rise for point source
Dispersion parameters
Buoyancy-induced dispersion
Building downwash
Fumigation
Shoreline fumigation
Complex terrain 24-h screen
For stable conditions and/or mixing heights 10,000 m, unlimited mixing is assumed, and the
summation term in Equation 7.67 is assumed to be zero. The mixing height used in Equation 7.67 is based
on Randerson calculations (see Randerson 1984). The worst-case meteorological conditions use the
various stability classes (see Table 7.8) and wind speeds to identify the worst-case scenario.
The plume rise equations developed by Briggs are used in the SCREEN2 model to estimate the plume
rise. The plume rise equations come from References Briggs 1969, 1973, 1975. The dispersion
coefficients z, vertical, and y, lateral, were designed to be used in the Gaussian plume models and were
first published by Pasquill in 1959 (see Figure 7.14a,b). The dispersion coefficients used for rural and
urban sites in the SCREEN2 model come from Reference U.S. EPA 1992. The dispersion coefficients (y
and z) are adjusted in most cases to account for the effects of buoyancy-induced dispersion using the
following equations:
where:
ye is the adjusted lateral dispersion coefficient, m
ze is the adjusted vertical dispersion coefficient, m
h is the distance-dependent plume rise, m
The building downwash, cavity, and wake-screening problems encountered in dispersion modeling are
dealt with in References Hosker 1984 and U.S. EPA 1992.
When an inversion layer occurs a short distance above a plume source and superdiabatic conditions
prevail below the stack, the plume is said to be fumigating. In this case, the air contaminants are suddenly
brought to ground level. In the SCREEN2 model, the inversion breakup calculations are based on
procedures described by Turner (1969).
A special-purpose model has been developed to consider the worst-case impact for complex terrain,
24-h screen. This dispersion model is called VALLEY and is a modified Gaussian model (Burt 1977).
This model assumes F stability conditions (E for urban) and a stack height wind speed of 2.5 m/s. The
width of the sector of uniform air contaminant concentration is assumed to be 22.5. The following
information is taken directly from the Reference (Office of Air Quality Planning and Standards 1992).
If the plume height is at or below the terrain height for the distance entered, then SCREEN2 will make a
24-h average concentration estimate using the VALLEY screening technique. If the terrain is above the
stack height but below the plume center-line height, then SCREEN2 will make a VALLEY 24-h estimate
(assuming F or E and 2.5 m/s) and also will estimate the maximum concentration across a full range of
meteorological conditions using simple terrain procedures with terrain chopped off at physical stack
height, and select the higher estimate. Calculations continue until a terrain height of zero is entered. For
the VALLEY model concentration, SCREEN2 will calculate a sector-averaged ground-level concentration
with the plume center-line height (he) as the larger of 10.0 m or the difference between the plume height
and the terrain height.
a Charles law
b Boyles law
c Ideal gas law
d Henrys law
e Daltons law
f Reynolds law
g Stokes law
h Air pollution
2 What are the four major components that make up the troposphere of the earth and what is the
percentage of each?
3 What are the two basic physical forms of air pollution?
4 What are the six criteria pollutants designated by the U.S. EPA?
5 In the United States, what are the four principal sources (categories) of air pollution, and what
are the major pollutants emitted by these sources?
6 If you were to read an air pollution control report, in what units would you expect to see the
following concentrations reported?
a SO2
b CO
c Pb
d PM10
7 Indicate the basic principles involved in the control of gaseous air pollution emissions.
8 Indicate the commonly used devices for control of particulate air pollution emissions.
9 In the following equations, what does each term represent? Give the units for each, as well as
the name associated with each equation.
Name: ______________
Name: ______________
Name: ______________
Name: ______________
10 What industrial plant-operating conditions would dictate the use of an electrostatic air-cleaning
device instead of a fabric filter?
11 What control technology do we have available for control of particulate airborne contaminants?
Indicate the size range for which each type of unit is most efficient for removal.
12 What is meant by effective stack height and what are the controlling factors?
13 What are the four general categories of air quality models?
14 Multiple choice and matching questions:
ai Dispersion models estimate the ambient air concentrations as a function of Source location
ii Emission strengths
iii Terrain features
iv Meteorological conditions
v All of the above
i The primary mobile source of air pollution in the United States is Diesel trucks
b
ii Automobiles
iii Airplanes
iv Lawn mowers
c Which air pollution control device generates a large volume of wastewater?
i Venturi scrubbers
ii Cyclone
iii Settling chamber
iv Electrostatic precipitator
A substance that alters the rate of a chemical reaction without the substance itself being changed or
d
i consumed by the reaction is a(n): Additive
ii Catalyst
iii Add-on
iv Stimulus
e Match the type of atmospheric stability to the appropriate PasquillGifford stability categories:
___ Unstable (i) EF
___ Neutral (ii) ABC
___ Stable (iii) D
fi The y and z used in the Gaussian dispersion formulas are defined as Atmospheric pressure at
points y and z
iii Standard deviations of pollutant concentration in the horizontal and vertical directions Temperature
ii
iv variations in the y and z directions None of the above
g Match the category of air quality model with its definition.
___Empirical i. Investigate pollutant dispersion for complicated situations ___Numerical ii. Derived
from an analysis of source data, meteorological data, and air quality ___Physical iii. Use complex
equations to simulate the effects of turbulence, chemical transformations, deposition, and so on on
pollutant transport and dispersion ___Gaussian iv. Techniques for estimating the impact of nonreactive
hpollutants; use simple algebraic expressions for reactive pollutants Plume rise from a stack is due to
i Heat and type of pollutant
ii Momentum and buoyancy
iii Composition of the stack
iv None of the above
i Settling chambers use _______ to remove solid particles from a gas stream.
i Electrostatic pressure
ii Gravity
iii Hydraulic simulation
iv Filtration
15 Draw a schematic diagram for each of the following air pollution control devices and briefly
describe the mechanisms, principles, or processes involved in their operation.
a Settling chambers
b Electrostatic precipitators
c Cyclone clean
d Venturi scrubber
e Packed tower
16 Indicate the equipment needed to access the EPA, OAQPS, BBS, and SCRAM regulatory
dispersion models on the Internet; also indicate the parameters required on the communications
software. Define or explain each of these parameters.
17 What are the three categories for the SCRAM BBS models?
18 How are the regulatory dispersion models and the screening models used by the EPA?
19 What data or information is needed in order to use the SCREEN2 model?
8. Use the computer program developed for Example 7.15 to solve the following problem: According to
Stokes law, what would be the terminal settling velocity of a 1.0 m radius particle of quartz that has a
specific gravity of 2.75, and the temperature is 27C?
9a It is desired that all particles with a size of 50 m and larger be removed with 100% efficiency in a
settling chamber, which has a height of 0.8 m. The air moves at 1.6 ft/s, and its temperature is 80oF. The
particle density is 2.2 g/cm3. What minimum length of chamber should be provided?
9b Write a short computer program to solve the problem of (a).
10a Write a computer program to determine the particle size collected in a cyclone cleaner, given the
outer diameter of the cyclone, the number of effective turns for the cyclone, air flow, the temperature and
pressure of gas, the density of particles, the gas velocity at the entrance to the cyclone, and the efficiency
of the system.
10b Use the program developed in (a) to solve the following problem: A cyclone cleaner has an outer
circumference of 251 mm and handles 3.7 m3/s of contaminated air at a temperature of 30C and 1 atm of
pressure. The density of the particles is 2.0 g/cm3. The gas velocity at the entrance to the cyclone is 15
m/s. Determine the particle size in microns collected with 50% efficiency if the number of effective turns
for the cyclone is 4.6.
11a Calculate the fabric area, in square meters, required in a baghouse to treat 6500 m3/min of
particulate-laden gas stream at a removal efficiency of 99.82%. The baghouse unit operates at an air-to-
cloth ratio of 0.72 m/min.
1. 6,000 3. 9,000
2. 5,500 4. 15,000
11b Calculate the area a, in square meters, for an ESP required to process 4000 m3/min of a particulate-
laden gas stream with a removal efficiency of 99.5%. The drift velocity w has been determined to be 0.07
m/s.
1. 6,500 3. 55,000
2. 10,000 4. 60,500
11c A plant has an inlet loading to a baghouse of 23,000 mg/m3. The average filtration velocity is 3
m/min, and the gas flow rate is 700 m3/min. What is the total filtering area for this operation?
1. 76 m/min 3. 233 m2 /min
2. 3 m3 /min/m2 4. 2 m/min
11d At the point of maximum concentration downwind from a source with an effective stack height of 70
m, z is closest to
1. 15 m 3. 50 m
2. 58 m 4. 80 m
11e The concentration at 1000 m downwind of a 60 m (effective stack height) source emitting 100 g/s
under type B stability conditions with a 6 m/s mean wind speed is
1. 7.0 105 g/m3 3. 2.6 104 g/m3
2. 1.5 103 g/m3 4. 5.3 103 g/m3
11f Write short computer programs to solve each of the aforementioned multiple choice questions.
12a Write a short computer program to estimate the collection efficiency of a venturi scrubber at
removing particles of given densities. Let the program determine the pressure drop across the venturi
scrubber, given the relevant characteristics of the venturi scrubber.
12b Use the program developed in (a) to solve the following problem: Estimate the collection efficiency
of a venturi scrubber at removing 4 m sized particles. The particles have a density of 2750 kg/m3. Also,
determine the pressure drop across the venturi scrubber. The venturi scrubber has the following
characteristics: Gas flow rate = 7 m3/s
Liquid flow rate = 0.002 m3/s
Gas flow rate at the throat = 80 m/s
Correlation coefficient = 1700
Temperature = 100C
13a Write a computer program to find the geometric mean diameter and the geometric standard deviation
for a certain aerosol, given the results for the mass distribution of the aerosol.
13b Use the program developed in (a) to solve the following problem: The results for the mass
distribution of an aerosol are given in the following table. From this, determine the geometric mean
diameter and the geometric standard deviation for this aerosol.
Average Size (m) Percentage by Weight
0.25 0.1
1.0 0.4
2.0 9.5
3.0 20.0
4.0 20.0
5.0 15.0
6.0 11.0
7.0 8.0
8.0 5.5
10.0 5.5
14.0 4.0
20.0 0.8
>20.0 0.2
14a Write a computer program to compute the collection efficiency of an ESP for a certain particle size
having a certain drift velocity. Let the program determine the efficiency for other particle diameters, given
the ESP specifications.
14b Use the program developed in (a) to determine the collection efficiency of the ESP described below
for a particle size of 0.70 m diameter having a drift velocity of 0.20 m/s. What would be the efficiency
for 1.0 m particles? ESP specifications are given as follows: Plate height = 8 m
Plate length = 6 m
Number of passages = 6
Plate spacing = 0.3 m
Gas flow rate = 20 m3/s
15a A 2.5 g sample of catalyst was tested for its efficiency for removal of CO from an air stream. The
initial CO concentration entering the catalyst was 160 ppm; the CO concentration after passing through the
catalyst was found to be 2.5 ppm. Determine the percent removal of CO for this catalyst, the contact time
or space velocity, and the reaction rate coefficient for the catalyst. The space around the catalyst was
found to be 1.3 cm3, and the air stream in which the CO is present had a flow rate of 800 cm3/min.
15b Write a computer program to solve the problem indicated in (a).
16a Develop a computer program to find the effective stack height for a power plant, given the physical
stack height, stack inside diameter, stack gas effluent velocity, effluent gas temperature, ambient air
temperature, and mean wind speed.
16b Use the computer program developed in (a) to determine the effective stack height for a power plant
operating under the following conditions: Physical stack height = 45 m
Stack inside diameter = 3 m
Stack gas effluent velocity = 16 m/s
Effluent gas temperature = 160C
Ambient air temperature = 22C
Mean wind speed = 5 m/s
17a A manufacturing plant emits nitrogen oxides under the conditions set forth below on a continuous 24-
h/day basis. What is the concentration of NO2 at a receptor 760 m downwind of the plant? Does this plant
by itself cause concentrations at the receptor to exceed U.S. primary and secondary ambient annual air
quality standards for NO2?
Physical stack height = 55 m (situated on level terrain)
Stack inside diameter = 1 m
Stack exit velocity = 4.6 m/s
Stack temperature = 120C
NO2 emission rate = 450 kg/h
Mean wind speed u = 3.8 m/s
tair = 10C
p = 1000 mbar
Pasquill stability category D
17b Develop a computer program to solve the problem mentioned in (a).
18a Improve the computer program for Example 7.33 to solve the following problem given in 18b, given
the following data for the adsorption of vinyl chloride by activated carbon:
Activated Carbon (g) Concentration of Vinyl Chloride Remaining (g/m3 )
2.0 80
3.5 50
5.0 31
16.0 2.7
25.0 1.0
Note: Control or initial concentration at the start of the test = 155 g/m3.
1Determine if the data follow the Freundlich isotherm. If the data do follow the Freundlich isotherm,
Determine the k and n values.
2 Determine the ultimate capacity of this activated carbon (X/M)C0 for vinyl chloride adsorption
at the control or initial concentration.
19a An effluent air stream contains 5.0% SO2 by volume. It is desired to reduce this concentration to
25000 mg/m3 by passing the gas stream through a packed column adsorption tower before releasing the
air stream to the atmosphere. The inlet gas flow rate is 30 m3/min measured at 1 atm and 22C, and the
absorber is the counterflow type. The equilibrium of SO2 in water is assumed to be reasonably
represented by the following relationship: YB = 30XB (YB = mole fraction of SO2 in the air, and XB = mole
fraction of SO2 in the water). Estimate the minimum amount of water (SO2-free) required as a solvent, in
cubic meters per second, to meet the desired requirements.
19b Develop a suitable computer program to solve the problem outlined in (a).
REFERENCES
Air & Waste Management Association and Davis, W. R. 2000. Air Pollution Engineering Manual, 2nd ed. Wiley-Interscience.
Air Pollution Training Institute. 1981. Control Techniques for Gaseous and Particulate Pollutants, (S1:422). Research Triangle Park, NC:
U.S. Environmental Protection Agency.
Air Pollution Training Institute. 1982. Basic Air Pollution Meteorology, (SI:409). Research Triangle Park, NC: U.S. Environmental Protection
Agency.
Air Pollution Training Institute. 1983. Atmosphere Sampling, (S1:435). Research Triangle Park, NC: U.S. Environmental Protection Agency.
Air Pollution Training Institute. 1984. Control of Gaseous and Particular Emissions, (S1:412D). Research Triangle Park, NC: U.S.
Environmental Protection Agency.
Air Pollution Training Institute. 1992. Air Pollution Control Orientation Course, (S1:422). Research Triangle Park, NC: U.S. Environmental
Protection Agency.
Briggs, G.A. 1969. Plume Rise, USAEC Critical Review Series, TID-25075. Springfield, VA: National Technical Information Service.
Briggs, G.A. 1973. Diffusion Estimation for Small Emissions, NOAA ATDL, Contribution File No. 79 (draft), Oak Ridge, TN.
Briggs, G.A. 1975. Plume Rise Predictions, in Lectures on Air Pollution and Environmental Impact Analysis, Haugen, D.A., Ed. Boston,
MA: American Meteorological Society, 59.
Burt, E.W. 1977. VALLEY Model Users Guide, 450/2-77-018. Research Triangle Park, NC: U.S. Environmental Protection Agency.
Chansler, J.M., Lloyd, W.G., and Rowe, D.R. 1995. Soil sorption of zinc according to the Freundlich isotherm. Florida Water Resources
Journal 47(9):3234.
Colls, J. and Tiwary, A. 2009. Air Pollution: Measurement, Modelling and Mitigation, 3rd ed. CRC Press.
Cooper, C.D., and Alley, F.C. 2010. Air Pollution Control: A Design Approach, 4th ed. Waveland Press Inc.
Corman, R. D. and Black, D. 1974. Controlling Air Pollution. Washington, DC: American Lung Association.
Council on Environmental Quality. 1993. 24th Annual Report of the Council on Environmental Quality. Washington, DC.
Culp, R.L., Wesner, G.M., and Culp, G.L. 1978. Handbook of Advanced Wastewater Treatment, 2nd ed., 180. New York: Van Nostrand
Reinhold.
Danielson, J.A., Ed. 1973. Air Pollution Engineering Manual. Office of Air and Water Programs, 92, 107. Research Triangle Park, NC:
U.S. Environmental Protection Agency.
Environmental Protection Agency (EPA). 2016. National Ambient Air Quality Standards (NAAQS).
https://www3.epa.gov/ttn/naaqs/criteria.html.
Ford, D.L. 1975. Process Design in Water Quality Engineering, New Concepts and Developments. XI: Coagulation and Precipitation
and Carbon Adsorption. Nashville, TN: Sponsored by the Department of Environmental and Water Resources Engineering, Vanderbilt
University.
Holland, J.Z. 1953. A Meteorological Survey of the Oak Ridge Area, Atomic Energy Commission, Rep. ORO-99, Washington DC, 540.
Hosker, R.P. 1984. Flow and Diffusion Near Obstacles, in Atmospheric Science and Power Production, Randerson, D., Ed., DOE/TIC-
27601. Washington, DC: U.S. Department of Energy.
Lee, C. C. 2005. Environmental Engineering Dictionary, 4th ed. Government Institutes.
Lide, D.R., and Frederiske, H.P.R., Eds. 1995/1996. CRC Handbook of Chemistry and Physics, 76th ed., 648. Boca Raton, FL: CRC
Press.
Lloyd, W. G., and Rowe, D. R. 1971. Homogeneous catalytic oxidation of carbon monoxide. Environ. Sci. Technol. 5:11.
Lloyd, W. G., and Rowe, D. R. 1974. Palladium Compositions Suitable as Oxidation Catalysts. U.S. Patent 3, 849, 336.
Manahan, S.E. 2009. Environmental Chemistry, 9th ed. Boca Raton, FL: CRC Press.
Office of Air Quality Planning and Standards. 1978. Guideline on Air Quality Models, 450/2-78-027. Research Triangle Park, NC: U.S.
Environmental Protection Agency.
Office of Air Quality Planning and Standards. 1983. Introduction to Dispersion Modeling, (SI:410). Research Triangle Park, NC: U.S.
Environmental Protection Agency, 419.
Office of Air Quality Planning and Standards. 1989. Assessing Multiple Pollutant, Multiple Source Cancer Risks from Urban Air Toxics,
450/2-89-010. Research Triangle Park, NC: U.S. Environmental Protection Agency, A-xii.
Office of Air Quality Planning and Standards. 1992. SCREEN2 Model Users Guide, 450/4-92-006. Research Triangle Park, NC: U.S.
Environmental Protection Agency.
Office of Air Quality Planning and Standards. 1994. U.S. Environmental Protection Agency, Technology Transfer Network, Research
Triangle Park, NC, 27711.
Peavey, H.S., Rowe, D.R., and Tchobanoglous, G. 1985. Environmental Engineering. New York: McGraw-Hill.
Randerson, D. 1984. Atmospheric Boundary Layer, in Atmo-spheric Science and Power Production, Randerson, D., Ed., DOE/TIC-27601.
Washington, DC: U.S. Department of Energy.
Rowe, D. R., and Lloyd, W. G. 1978. Catalytic cigarette filter for carbon monoxide reduction. J. Air Pollut. Control Assoc. 28(3):253.
Rowe, D.R. et al. 1985. Indoor-outdoor relationship of suspended particulate matter in Riyadh, Saudi Arabia. APCA J. 35(1).
Teledyne Technology Introduces a New Room Temperature Catalyst, Form 1007-F-33, 1730 E. Prospect St., Fort Collins, CO, 1983.
Teledyne Instapure Filtration System, Form 1035-F-35, 1730 e. Prospect St., Fort Collins, CO, 1985.
Theodore, L. and DePaola, V. 1980. Predicting cyclone efficiency. J. Air Pollut. Control Assoc. 80:1132.
Touma, J.S. 1977. Dependence of the wind profile power law on stability for various locations. J. Air Pollut. Control Assoc. 27:863.
Turk, A. 1977. Adsorption, in Air Pollution, Vol. IV, 3rd ed., Engineering Control of Air Pollution, Stern, A., Ed., 329.
Turner, D.B. 1969. Workbook of Atmospheric Dispersion Estimates. Cincinnati, OH: National Air Pollution Control Administration, 31.
U.S. Code of Federal Regulations. 1994. Definitions, Fed. Regist., 52.741 (40).
U.S. Department of Health and Human Services. 1973. The Industrial EnvironmentIts Evaluation and Control. National Institute for
Occupational Safety and Health, Cincinnati, OH, 159, 641.
U.S. Environmental Protection Agency. 1992. Industrial Source Complex (ISC2) Dispersion Model Users Guide; 450/4-92 - 008.
Research Triangle Park, NC: U.S. Environmental Protection Agency.
U.S. Environmental Protection Agency. 2013. Office of Air Quality Planning and Standards (Oaqps) Technology Transfer Network (TNN),
Users ManualJul. BiblioGov.
U.S. Environment Protection Agency. 2014. National Air Quality Status and Trends Through 2007. CreateSpace Independent Publishing
Platform.
Vesilind, A., Morgan, S. M. and Heine, L. G. 2009. Introduction to Environmental Engineering, 3rd ed. Cengage Learning.
Williams, C.E., Hatch, T., and Greenburg, L. 1940. Determination of cloth area for industrial air filters. Heating Piping Air Cond. 12:259.
Zackay, V. F. and Rowe, D. R. 1984/1985. Catalyst of Palladium, Copper and Nickel on a Substrate. U.S. Patent 4, 459, 269, July 10, 1984;
U.S. Patent 4, 521, 530, June 4, 1985.
8 Computer Modeling Applications for Noise Pollution and Abatement
(8.1)
where:
n is the sound intensity level, dB
P is the level of sound intensity to be measured, W
P0 is the reference level, usually the intensity of a note of the same frequency at the threshold of
audibility = intensity of the least audible sound, usually given as Po = 1012 W (Anderson and
Bratos-Anderson 1993).
The logarithmic scale is convenient as human audibility has a range of 1 (just audible) to 1012 (just
causing pain), and one decibel, representing an increase of some 26%, is about the smallest change the
ear can detect (Saenz and Stephens 1986).
Threshold level is the number of decibels by which the sound intensity must be increased to be heard,
relative to 0 dB hearing level, which is the sound level that can be heard by an ear that presumably has
never been affected by any deleterious agent (Isaac 1985).
Sound signifies a vibration in an elastic medium at a frequency and intensity that is capable of being
heard by the human ear. The frequency of sound lies in the range 2020,000 Hz, but the ability to hear
sounds in the upper part of the frequency range declines with age. Vibrations that have a lower frequency
than sound are called infrasound, and those with a higher frequency are called ultra sounds (Saenz and
Stephens 1986) (see Figure 8.2).
Sound is in effect a transfer of energy (Anderson and Bratos-Anderson 1993); it travels at different
speeds in different materials, depending on the materials elasticity.
Velocity of sound in a given medium can be found from the following equation:
(8.2)
where:
c is the velocity of the sound in a given medium, m/s
is the wavelength, m
f is the frequency, cycle/s, Hz
Example 8.1
1. Write a computer program to evaluate the wavelength of a sound generated by a
machine, given the frequency and the sound waves traveling velocity.
2. Find the wavelength of a sound from a machine, given that the frequency is 70 cycle/s,
and the sound waves travel at about 2.1 km/s.
3. Use program set in (1) to verify your computations in (2).
TABLE 8.1
Speed of Sound in Different Media at 0C
Medium Velocity of Sound at 0C (m/s)
Air 331
Oxygen 460
Alcohol 1213
Water 1435
Copper 3560
Iron 5130
TABLE 8.2
Speed of Sound in Air at Different Temperatures
Temperature (C) Velocity of Sound (m/s)
0 331
20 344
100 386
500 553
1000 700
Solution
1. For the solution of Example 8.1 (1), see the listing of Program 8.1.
2. Given: c = 2100/s m, f = 70 cycle/s.
3. Use Equation 8.2 to determine wavelength as follows: = c/f = 2100 m/s/70 cycle/s =
30 m.
Noise as a sound sensation has its origin in the mechanical vibrations of matter, either in the solid or in
the fluid state. The transmission of these vibrations through air is received at the ear to become
interpreted as sound by the human sensory system (Isaac 1985).
'*********************************************************************************
'Example 8.1: Sound velocity and wave length
'*********************************************************************************
Public Class Form1
Dim c, d, f As Double
Dim result As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Example 8.1: Velocity and
Wave length"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Calculate sound velocity and wavelength"
Label1.Text += vbCrLf + "Using the equation: c = d * f"
Label2.Text = "Solving for:"
Label5.Text = "Decimal places:"
Button1.Text = "&Calculate"
ComboBox1.Items.Clear()
ComboBox1.Items.Add("c, sound velocity")
ComboBox1.Items.Add("d, wave length")
ComboBox1.Items.Add("f, frequency")
ComboBox1.SelectedIndex = 0
NumericUpDown1.Value = 2
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click Select ComboBox1.SelectedIndex
Case 0
'Solving for c
d = Val(TextBox1.Text)
f = Val(TextBox2.Text)
c = d * f
result = c
Case 1
'Solving for d
c = Val(TextBox1.Text)
f = Val(TextBox2.Text)
d = c / f
result = d
Case 2
'Solving for f
c = Val(TextBox1.Text)
d = Val(TextBox2.Text)
f = c / d
result = f
Case Else
MsgBox("Please select an item from the list.",
vbOKOnly Or vbInformation)
Exit Sub
End Select
showResult()
End Sub
Sub showResult()
TextBox3.Text = FormatNumber(result, NumericUpDown1.Value)
End Sub
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles NumericUpDown1.ValueChanged showResult()
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged Select
Case ComboBox1.SelectedIndex
Case 0
'Solving for c
Label3.Text = "Wave length, d, (m):"
Label4.Text = "Frequency, f (Hz):"
Label6.Text = "Sound velocity, c (m/s):"
Case 1
'Solving for d
Label3.Text = "Sound velocity, c (m/s):"
Label4.Text = "Frequency, f (Hz):"
Label6.Text = "Wave length, d, (m):"
Case 2
'Solving for f
Label3.Text = "Sound velocity, c (m/s):"
Label4.Text = "Wave length, d, (m):"
Label6.Text = "Frequency, f (Hz):"
End Select
End Sub
End Class
Vibrations of matter are controlled by its density and its elasticity (or springiness).
Due to elastic bonds in matter, any local vibration is transmitted to the neighboring elements. The
process of vibration transmission through condensed media constitutes the elastic wave propagation,
which is responsible for the transport of mechanical (acoustical) energy (Isaac 1985).
The sound wave is commonly associated with elastic waves in the frequency range of the human
hearing (i.e., 20 Hz to 20 kHz). Waves below and above this range are, respectively, known as infra- and
ultrasounds.
The propagation of vibrational energy takes a finite time, and the distance traveled by the wave front
(all points of which are in the same phase of the oscillation), in unit time, is the so-called phase velocity
or speed of sound, c. The value of c depends on the type of wave and physical characteristics of the
propagation medium.
Wave is a periodic disturbance in a medium or in space. In a traveling wave (progressive wave),
energy is transferred from one place to another by the vibrations.
Sound waves are longitudinal waves whereby the air is alternately compressed and rarefied by
displacements in the direction of propagation (Saenz and Stephens 1986).
The chief characteristics of a wave are its speed of propagation, its frequency, its wave length, and its
amplitude (Saenz and Stephens 1986) (see Figure 8.3).
Speed propagation is the distance covered by the wave in unit time.
Frequency is the number of complete disturbances (cycles) in unit time (hertz). It is interrelated to
pitch: the lower the frequency, the lower is the sound pitch, and vice versa.
Wave length is the distance (m) between successive points of equal phase in a wave.
Amplitude is the maximum distance of the disturbed quantity from the mean value. It determines how
loud is the sound to the receiver: Large amplitude means louder sounds and small amplitude means
quieter sounds (see Figure 8.4).
(8.3)
where:
SWL is the sound power level, dB
W is the power of sound wave, W
W0 is the some reference sound power = 1012 W, pW
The basic equation used for expressing the decibel concept in terms of sound intensities from a single
sound source is as indicated in the following equation (Thumann 1990, Sound Research Laboratories
1991; Anderson and Bratos-Andreson 1993):
(8.4)
where:
SPL is the sound pressure level, dB
P is the pressure of sound wave, Pa
Pref is some reference sound pressure = 2 * 105 Pa
Example 8.2
1 Write a computer program to determine the sound pressure level, given the pressure of a sound
wave.
2 The pressure of a sound wave is 5 Pa. Determine the sound pressure level.
3 Use program set in (1) to verify your computations in (2).
Solution
1 For the solution of Example 8.2 (1), see the listing of Program 8.2.
2 Given: P = 5 Pa.
3 Find the sound pressure level from Equation 8.4 as follows:
'*********************************************************************************
'Example 8.2: Sound Pressure Level
'*********************************************************************************
Public Class Form1
Dim SPL, P As Double
Const Pref As Double = 2 / 100000
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Example 8.2: SPL"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Calculate Sound Pressure Level"
Label1.Text += vbCrLf + "Using equation: SPL = 20 * Log [P / Pref]"
Label2.Text = "Pressure of sound wave, P (Pa):"
Label3.Text = "Decimal places:"
Label4.Text = "Sound pressure level, SPL (dB):"
NumericUpDown1.Value = 2
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
Button1.Text = "&Calculate"
End Sub
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles NumericUpDown1.ValueChanged showResult()
End Sub
Sub showResult()
TextBox2.Text = FormatNumber(SPL, NumericUpDown1.Value)
End Sub
The intensities of some typical environmental noises are shown in Figure 8.2 (Faulkner 1976, Isaac
1985, Anderson and Bratos-Andreson 1993, Kamboj 2002, Vesilind and Morgan 2010).
(8.5)
where:
SPLN is the net sound pressure level, dB
SPLi is the sound pressure level from source i, dB
N is the number of sound sources
Example 8.3
1 Write a computer program to evaluate SPL sound produced in a workshop by a number of
machines when they work independently together, given sound pressure levels produced by
each machine.
2 In a workshop, four machines independently produce sound pressure levels of 85, 66, 72,
and 103 dB. Determine the SPL sound produced by the four machines when they work
together.
3 Use program set in (1) to verify your computations in (2).
Solution
1 For the solution of Example 8.3 (1), see the listing of Program 8.3.
2 Given: SPL1 = 85 dB, SPL2 = 66 dB, SPL3 = 72 dB, SPL4 = 103 dB.
3 Use Equation 8.5 to compute the overall noise generated by all machines when they operate
together.
LISTING OF PROGRAM 8.3 (CHAP8.3\FORM1.VB): NET SOUND
PRESSURE LEVEL
'*********************************************************************************
'Example 8.3: Net Sound Pressure Level
'*********************************************************************************
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Example 8.3: SPLn"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Enter sound pressure levels (dB):"
Label2.Text = "Decimal places:"
Label3.Text = "Net sound pressure level, SPLn (dB):"
NumericUpDown1.Value = 2
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
Button1.Text = "&Calculate"
DataGridView1.Rows.Clear()
DataGridView1.Columns.Clear()
DataGridView1.Columns.Add("SPLCol", "SPL (dB)")
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click Dim count As Integer =
DataGridView1.RowCount - 1
If count = 0 Then
MsgBox("Please enter at least one SPL!",
vbOKOnly Or vbInformation)
Exit Sub
End If
Dim sum As Double = 0
Dim SPLi, SPLn As Double
For i = 0 To count - 1
SPLi = Val(DataGridView1.Rows(i).Cells("SPLCol").Value) / 10
sum += Math.Pow(10, SPLi)
Next
SPLn = 10 * Math.Log10(sum)
TextBox1.Text = FormatNumber(SPLn, NumericUpDown1.Value)
End Sub
End Class
The daily personal noise exposure level (LEP ,d) may be determined from the following equation
(Thumann 1990, Nathanson and Schneider 2014):
(8.6)
where:
LEP ,d is the daily personal noise exposure level, dB
Te is the duration of the persons personal exposure to noise To is the length of the working day (usually
taken to be 8 hrs) PA(t) is the time-varying value of A-weighted instantaneous sound pressure, Pa
Pref is some reference sound pressure = 2 * 105, Pa
A weekly average LEP ,w of the daily values can be found from Equation 8.7 (Thumann 1990):
(8.7)
where:
LEP ,w is the weekly average of the daily personal noise exposure, dB(A) (LEP ,d)i is the daily personal
noise exposure of day i, dB(A) N is the number of working days taken into account during the
week
Example 8.4
1 Write a computer program to determine the weekly average of the daily personal noise
exposures for a factory worker who works for five days during the week, given the daily
personal noise exposures for the working days.
2 A factory worker works for 5 days during the week. The daily personal noise exposures for the
5 days are 80, 77, 84, 70, and 93 dB(A). Determine the weekly average of the daily personal
noise exposures.
3 Use program set in (1) to verify your computations in (2).
Solution
1 For the solution of Example 8.4 (1), see the listing of Program 8.4.
2 Given: LEP1 = 73 dB, LEP2 = 85 dB, LEP3 = 68 dB, LEP4 = 57 dB, LEP5 = 97 dB.
3 Determine the weekly average of the daily personal noise exposures from Equation 8.7 as
follows:
'*********************************************************************************
'Example 8.4: Weekly average of noise exposures
'*********************************************************************************
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Example 8.4: LEP Week"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Enter daily personal noise exposures (dB):"
Label2.Text = "Decimal places:"
Label3.Text = "Weekly average of noise exposures, LEPw (dB):"
NumericUpDown1.Value = 2
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
Button1.Text = "&Calculate"
DataGridView1.Rows.Clear()
DataGridView1.Columns.Clear()
DataGridView1.Columns.Add("LEPdCol", "LEP,d (dB)")
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click Dim count As Integer =
DataGridView1.RowCount - 1
If count = 0 Then
MsgBox("Please enter at least one (LEP,d)!",
vbOKOnly Or vbInformation)
Exit Sub
End If
Dim sum As Double = 0
Dim LEPd, LEPw As Double
For i = 0 To count - 1
LEPd = Val(DataGridView1.Rows(i).Cells("LEPdCol").Value) / 10
sum += Math.Pow(10, LEPd)
Next
sum /= 5
LEPw = 10 * Math.Log10(sum)
TextBox1.Text = FormatNumber(LEPw, NumericUpDown1.Value)
End Sub
End Class
Sound levels drop significantly with increasing distance from the noise source (Kamboj 2002). The
relationship between the sound level and the distance from a line source can be written as indicated in
the following equation:
(8.8)
where:
SLPA is the sound level at distance DA from the noise source SLPB is the sound level at distance DB
from the noise source
Example 8.5
1 Write a computer program to find the distance from the sound source at which the sound will fall
to a certain level, given the sound level at a particular distance from the sound source.
2 The sound level at a distance of 2 m from a sound source is 89 dB(A). Find the distance from the
sound source at which the sound will fall to 72 dB(A).
3 Use program set in (1) to verify your computations in (2).
Solution
1 For the solution of Example 8.5 (1), see the listing of Program 8.5.
2 Given: SPLA = 89 DA = 2, SPLB = 72, DB = ?
3 Determine the distance from the sound source at which the sound will fall to 86 dB(A):
Thus, DB = 100.24 m.
'*********************************************************************************
'Example 8.5: Sound level at a distance
'*********************************************************************************
Public Class Form1
Dim result As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load Me.Text = "Example 8.5: Sound level"
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Label1.Text = "Equation: SPLB = SPLA - 10*Log(DB/DA)"
Label2.Text = "Solving for:"
Label6.Text = "Decimal places:"
Button1.Text = "&Calculate"
ComboBox1.Items.Clear()
ComboBox1.Items.Add("SPLB")
ComboBox1.Items.Add("SPLA")
ComboBox1.Items.Add("DB")
ComboBox1.Items.Add("DA")
ComboBox1.SelectedIndex = 0
NumericUpDown1.Value = 2
NumericUpDown1.Maximum = 10
NumericUpDown1.Minimum = 0
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged Select
Case ComboBox1.SelectedIndex
Case 0
'Solving for SPLB
Label3.Text = "Sound level at distance DA, SPLA (dB):"
Label4.Text = "Distance DB (m):"
Label5.Text = "Distance DA (m):"
Label7.Text = "Sound level at distance DB, SPLB (dB):"
Case 1
'Solving for SPLA
Label3.Text = "Sound level at distance DB, SPLB (dB):"
Label4.Text = "Distance DB (m):"
Label5.Text = "Distance DA (m):"
Label7.Text = "Sound level at distance DA, SPLA (dB):"
Case 2
'Solving for DB
Label3.Text = "Sound level at distance DA, SPLA (dB):"
Label4.Text = "Sound level at distance DB, SPLB (dB):"
Label5.Text = "Distance DA (m):"
Label7.Text = "Distance DB (m):"
Case 3
'Solving for DA
Label3.Text = "Sound level at distance DA, SPLA (dB):"
Label4.Text = "Sound level at distance DB, SPLB (dB):"
Label5.Text = "Distance DB (m):"
Label7.Text = "Distance DA (m):"
End Select
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim SPLA, SPLB, DA, DB As Double
Select Case ComboBox1.SelectedIndex
Case 0
'Solving for SPLB
SPLA = Val(TextBox1.Text)
DB = Val(TextBox2.Text)
DA = Val(TextBox3.Text)
SPLB = SPLA - (10 * Math.Log10(DB / DA))
result = SPLB
Case 1
'Solving for SPLA
SPLB = Val(TextBox1.Text)
DB = Val(TextBox2.Text)
DA = Val(TextBox3.Text)
SPLA = SPLB + (10 * Math.Log10(DB / DA))
result = SPLA
Case 2
'Solving for DB
SPLA = Val(TextBox1.Text)
SPLB = Val(TextBox2.Text)
DA = Val(TextBox3.Text)
DB = DA * (10 ^ ((SPLA - SPLB) / 10))
result = DB
Case 3
'Solving for DA
SPLA = Val(TextBox1.Text)
SPLB = Val(TextBox2.Text)
DB = Val(TextBox3.Text)
DA = DB / (10 ^ ((SPLA - SPLB) / 10))
result = DA
Case Else
MsgBox("Please select an item from the list.",
vbOKOnly Or vbInformation)
Exit Sub
End Select
showResult()
End Sub
Sub showResult()
TextBox4.Text = FormatNumber(result, NumericUpDown1.Value)
End Sub
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles NumericUpDown1.ValueChanged showResult()
End Sub
End Class
APPENDIX A1
PHYSICAL PROPERTIES OF WATER
Source: Van der Leeden, F., The Water Encyclopedia, 2nd ed, Celsea, MI, CRC Press, 1990. With permission.
APPENDIX A2
SATURATION VALUES OF DISSOLVED OXYGEN IN WATER EXPOSED TO
WATER-SATURATED AIR CONTAINING 20.9% OXYGEN UNDER A
PRESSURE OF 760 MMHGa
Source: Hammer, M. J., Water and Wastewater Technology, 2nd ed, Englewood Cliffs, NJ, Prentice Hall, 1986. With permission.
a Saturation at barometric pressures other than 760 mm (29.92 in.), C , is related to the corresponding tabulated values, C, by the equation:
s
where:
Cs is the solubility at barometric pressure P and given temperature, mg/L
Cs is the saturation at given temperature from table, mg/L
P is the barometric pressure, mm
p is the pressure of saturated water vapor at temperature of the water selected from table, mm
APPENDIX A3
THE PERIODIC TABLE OF ELEMENTS
Source: Leigh, G. L. (Ed.), Nomenclature of Inorganic Chemistry, Oxford, Blackwell Scientific Publications, 1990; American Chemical
Society, Group notation revised in periodic table. Chemical and Engineering News, 63(5), 2627, 1985; International Union of Pure
and Applied Chemistry, Atomic weights of the elements, Pure & Appl. Chem., 66, 24232444, 1994; Manahan, S. E.,
Fundamentals of Environmental Chemistry, Celsea, MI, Lewis Publishers, 1993. With permission.
Note: The larger and smaller labels reflect two different numbering schemes in common usage.
APPENDIX A4
HYDRAULIC ELEMENTS GRAPH FOR CIRCULAR SEWERS
Source: Qasim, S. R., Waste Water Treatment Plants: Planning, Design and Operation, Boca Raton, FL, CRC Press, p. 163, Figure 7-6,
1999. With permission.
APPENDIX A5
ALIGNMENT CHART FOR FLOW IN PIPES
Source: Joint Taskforce of the American Society of Civil Engineers and the Water Pollution Control Federation. 1982. Gravity Sanitary
Sewer Design and Construction, ASCE Manuals and Reports on Engineering Practice, No. 60. New York: ASCE, WPCF.
Reproduced by permission of the publisher American Society of Civil Engineers.
APPENDIX A6
MOODYS DIAGRAM FOR REYNOLDS NUMBER VERSUS RELATIVE
ROUGHNESS AND FRICTION FACTOR
Source: Rayaprolu, K., Boilers: A Practical Reference, Boca Raton, FL: CRC Press, p. 163, 2012. With permission.
APPENDIX 7
TYPICAL SPECIFIC WEIGHT AND MOISTURE CONTENT DATA FOR
RESIDENTIAL, COMMERCIAL, INDUSTRIAL, AND AGRICULTURAL
WASTES
Source: Abdel-Magid, I. M. and Abdel-Magid, M. I. M., Solid Waste Engineering and Management, CreateSpace Independent Publishing
Platform, North Charleston, SC: (In Arabic), 2015; Blackman, W. C., Basic Hazardous Waste Management, 3rd ed, CRC Press,
2001; de Bertoldi, M., Science of Composting, Springer, 1996; Cheremisinoff, N. P., Handbook of Solid Waste Management and
Waste Minimization Technologies, Burlington, MA, Elsevier Science 2003; CEHA, Solid waste management in some countries of
the Eastern Mediterranean region. CEHA Document No., Special studies, ss-4. Amman, Jordan, WHO, Eastern Mediterranean
Regional Office, Regional Centre for Environmental Health Activities, 1995; McDougall, F. R. et al., Integrated Solid Waste
Management: A Life Cycle Inventory, Oxford, Blackwell Science, 2009; Ojovan, M. I. (Ed.), Handbook of Advanced
Radioactive Waste Conditioning Technologies, Cambridge, Woodhead Publishing, 2011; Peavy, H. S. et al., Environmental
Engineering, New York, McGraw-Hill Book Co, 1985; Walsh, P., and OLeary, P., Implementing Municipal Solid Waste to
Energy Systems, Madison, WI, University of WisconsinExtension for Great Lakes Regional Biogas Energy Program, 1986.
APPENDIX A8
CONVERSION TABLE
Multiply By To Obtain
Area
acre 0.4047 ha
acre 43560 ft2
acre 4047 m2
cm2 0.155 in2
ft2 0.0929 m2
ha 2.471 acre
ha 104 m2
in2 6.452 cm2
km2 0.3861 mile2
m2 10.76 ft2
mm2 0.00155 in2
Concentration
mg/L 8.345 lb/M gal (U.S.)
ppm 1 mg/L
Density
g/cm3 1000 kg/m3
g/cm3 1 kg/L
g/cm3 62.428 lb/ft3
g/cm3 10.022 lb/gal (Br.)
g/cm3 8.345 lb/gal (U.S.)
kg/m3 0.001 g/cm3
kg/m3 0.001 kg/L
kg/m3 0.06242 lb/ft3
Flow Rate
ft3 /s 448.83 gal (U.S.)/min
ft3 /s 28.32 L/s
ft3 /s 0.02832 m3 /s
ft3 /s 0.6462 M gal (U.S.)/day
gal (U.S.)/min 0.00223 ft3 /s
gal (U.S.)/min 0.06309 L/s
L/s 15.85 gal (U.S.)/min
M gal (U.S.)/day 1.547 ft3 /s
m3 /h 4.403 gal (U.S.)/min
m3 /s 35.31 ft3 /s
Length
ft 30.48 cm
in 2.54 cm
km 0.6214 mile
km 3280.8399 ft
m 3.281 ft
m 39.37 in
m 1.094 yd
mile 5280 ft
mile 1.60934 km
mm 0.03937 in
yard 0.914 m
Mass
g 2.205 * 103 lb
kg 2.20462 lb
lb 0.453592 kg
lb 16 Oz
ton 2240 lb
ton 1.1023 ton (2000 lb)
Power
Btu 252.16 Cal
Btu 778.169 ft-lb
Btu 3.93 * 104 Hp-h
Btu 1055.06 J
Btu 2.9307 * 104 kWh
Hp 0.7457 kW
Pressure
atm 33.93 ft H2 O
atm 29.921 in Hg
atm 1.033 * 104 kg/m2
atm 760 mmHg
atm 10.33 m water
atm 1.013 * 105 N/m2
Bar 105 N/m2
cm water 98.096 N/m2
in H2 O 1.8651 mmHg
in Hg 0.491154 lb/in2 (psi)
in Hg 25.4 mmHg
in Hg 3386.4 N/m2
kPa 0.145 lb/in2 (psi)
lb/in2 (psi) 0.070307 kg/cm2
lb/in2 (psi) 6895 N/m2
mmHg 13.595 kg/m2
mmHg 0.019336 lb/in2 (psi)
mmHg 133.3 N/m2
mmHg 1 Torr
Torr 133.3 N/m2
Temperature
Celsius (C) (9C/5) + 32 Fahrenheit (F)
Fahrenheit (F) 5(F-32)/9 Celsius (C)
Celsius (C) C + 237.16 Kelvin (K)
Fahrenheit (F) F + 459.67 Rankine (R)
Velocity
cm/s 0.03281 ft/s
cm/s 0.6 m/min
m/s 196.85 ft/min
m/s 3.281 ft/s
ft/min 0.508 cm/s
ft/s 30.48 cm/s
ft/s 1.097 km/h
mile/h 1.609 km/h
Viscosity
P (g/cms) 0.1 Ns/m2
cP 0.01 g/cms
cP 0.01 Dynes/cm2 (Pas)
Stoke 104 m2 /s
Volume
REFERENCES
Abdel-Magid, I. M. and Abdel-Magid, M. I. M. 2015. Solid Waste Engineering and Management, North Charleston, SC: CreateSpace
Independent Publishing Platform (in Arabic).
American Chemical Society. Group notation revised in periodic table. Chemical and Engineering News, 63(5), 2627, 1985.
Blackman, W. C. 2001. Basic Hazardous Waste Management, 3rd ed. Boca Raton, FL: CRC Press.
CEHA. 1995. Solid waste management in some countries of the Eastern Mediterranean region. CEHA Document No., Special studies, ss-4.
Amman, Jordan: WHO, Eastern Mediterranean Regional Office, Regional Centre for Environmental Health Activities.
Cheremisinoff, N. P. 2003. Handbook of Solid Waste Management and Waste Minimization Technologies. Burlington, MA: Elsevier
Science.
de Bertoldi, M., (Ed.). 1996. The Science of Composting. London, UK: Blackie Academic & Professional.
Hammer, M. J. 1986. Water and Wastewater Technology, 2nd ed. Englewood Cliffs, NJ: Prentice Hall.
International Union of Pure and Applied Chemistry. 1994. Atomic weights of the elements, Pure & Appl. Chem., 66, 24232444.
Joint Taskforce of the American Society of Civil Engineers and the Water Pollution Control Federation. 1982. Gravity Sanitary Sewer
Design and Construction, ASCE Manuals and Reports on Engineering Practice, No. 60. New York: ASCE, WPCF.
Leigh, G. L. (Ed.) 1990. Nomenclature of Inorganic Chemistry, Oxford: Blackwell Scientific Publications.
Manahan, S. E. 1993. Fundamentals of Environmental Chemistry. Celsea, MI: Lewis Publishers.
McDougall, F. R., White, P. R., Franke, M., and Hindle, P. 2009. Integrated Solid Waste Management: A Life Cycle Inventory. Oxford:
Blackwell Science.
Ojovan, M. I. (Ed.) 2011. Handbook of Advanced Radioactive Waste Conditioning Technologies. Cambridge: Woodhead Publishing.
Peavy, H. S., Rowe, D. R., and Tchobanglous, G. 1985. Environmental Engineering. New York: McGraw-Hill Book Co.
Qasim, S. R. 1999. Waste Water Treatment Plants: Planning, Design and Operation. Boca Raton, FL: CRC Press, p. 163.
Rayaprolu, K. 2012. Boilers: A Practical Reference. Boca Raton, FL: CRC Press. p. 163.
van der Leeden, F. 1990. The Water Encyclopedia, 2nd ed. Celsea, MI: CRC Press.
Walsh, P. and OLeary, P. 1986. Implementing Municipal Solid Waste to Energy Systems. Madison, WI: University of WisconsinExtension
for Great Lakes Regional Biogas Energy Program.
Index
Note: Page numbers followed by f and t refer to figures and tables, respectively.
A
Absorption, 423
Acoustic shielding, 465
Address bus, 3
Adsorbents service time, 434436
Adsorption, 427436
isotherm, 428
Aeration and gas transfer, 161164
Aerators, 161
Aerodynamic theory, 388
Aesthetic problems, corrosion, 192
Aggressiveness index (AI), 193195, 193t
Air pollutants
indoor, 363
sources, 362, 363t
Air pollution control technology, 361448
adsorption, 427436
air quality modeling, 436448
dispersion models, 440448
effective stack height, 436440, 438t
baghouse/fabric filters, 413417, 414f
combustion processes, 417423
cyclones, 396, 398403, 398f
ESPs, 361, 403408, 403f
fundamentals of, 363391
ClausiusClapeyron equation, 384386
Daltons law of partial pressures, 381382
gas laws, 368378
Henrys law, 382384
mole and mole fraction, 365368
particle size distributionlog normal, 390391
Re, 386387
Stokes law, 387390
units of measurement, 363365
Van der Waals equation, 378381, 378t
overview, 361363
packed column absorption towers, 423427
settling chambers, 392, 395398, 396f
venturi scrubbers, 408413
Air quality modeling, 436448
dispersion models, 440448
Gaussian, 440446, 441f, 442f
SCREEN2, 436, 447448
U.S. EPA, 447
effective stack height, 436440, 438t
Air quality standards, 362, 362t
ALU (arithmetic and logic unit), 23
American National Standards Institute (ANSI), 447
Amplitude, 458, 458f, 459f
Angle of repose, 304, 304f
ANSI (American National Standards Institute), 447
Anthropogenic source, air pollutant, 361
Apparent density, 303304
Aqueous chlorine, activation energies (E), 191t
Arithmetic and logic unit (ALU), 23
Arithmetic progression method, 69
Artificial groundwater recharge, 86
Assembly language, 7, 10
Avogadros hypothesis, 365
Avogadros number, 365366
B
Babbage, Charles, 1
Backwashing, 179
Baghouse, 413417, 414f
design and operation, 415417
BASIC (Beginners All-purpose Symbolic Instruction Code), 9, 11, 13
Basic input/output system (BIOS), 56
BBS (bulletin board system), 436
Binary separator, 327, 327f
recoveries and effectiveness, 329330
Biochemical oxygen demand (BOD), 5360
by Thomas method, 5860
Biochemical processes, combustion, and energy recovery, 335346
Biological properties, 297
water and wastewater, 5160
BOD, 5360
DO, 5153
Biological treatment, unit processes, 131
BIOS (basic input/output system), 56
BOD. See Biochemical oxygen demand (BOD)
Booleans, 15
Bottom scour, 147
Bottom-up approach, water footprint, 67
Boyles law, 368370
Branching pattern with dead ends, pipeline, 92
Braun, Antonius, 1
Breakthrough capacity, 428, 433434
Bulk modulus, 4143
Bulletin board system (BBS), 436
Buoyancy, 436
ByRef (passing by reference), 18
Byte, 447
ByVal (passing by value), 18
C
C++, 910
Calculator 8 water hardness calculator, 45
CALL statement, 18
Calorimeter, 307
Capillary
depression, 36
rise, 36, 36f
Capital cost, 346348
Capital recovery factor (CRF), 346348, 351t
CarmanKozeny equation, 167
Cascade aerator, efficiency coefficient of, 162164
CASE construct, 16
Casio water hardness calculator, 45
Catalytic combustion system, 417
Catalytic system, 419421
CDs (compact discs), 5
Central processing unit (CPU), 23
ALU, 3
control unit, 2
Characters, 14
Charless law, 370374
Chemical adsorption, 427
Chemical oxygen demand (COD) test, 5354
advantages, 54
Chemical treatment, unit processes, 131
Chicks law, 190
Chlorination, 190192
CIL (common intermediate language), 12
Circular sedimentation tank, 133f, 151154
design, 153154
Circular water storage tank, 118121
ClausiusClapeyron equation, 384386
Clear wells, 86
Closed conduit, 92
Closed loop, water pipe, 102
COD test. See Chemical oxygen demand (COD) test
Colebrook formula, 95
Combustion processes, 417423
Combustor, energy flow, 343f
Common intermediate language (CIL), 12
Compact discs (CDs), 5
Compilation, 7
Compiler, 7, 9
Compounding factors, 351t
Compression settling, 134
Computer
components, 25, 2f
CPU, 23
data storage media, 5
input devices, 34
output devices, 45
definition, 2
overview, 1
Computer-aided design models, 1
Conditional branching, 15
Conductivity, 27
Constants, 14
Control
bus, 3
unit, 2
Corrosion, 155, 192197
classification, 196f
definition, 195
overview, 192
potential indicators, 192195
AI, 193195, 193t
LI, 192
RI, 192193
rate of, 195197
types, 195f
Countercurrent-packed column, 424, 424f
CPU. See Central processing unit (CPU)
CRF (capital recovery factor), 346348, 351t
Criteria air pollutants, 361
Crushing devices, 325
capacity, 326327
Cumulative frequency distribution plot, 139f
Cunningham correction factor, 388
Cyclones, 396, 398403, 398f
efficiency vs. particle size ratio, 399f
pressure drop calculation through, 399t
D
Daily sludge removal, 151
Daltons law of partial pressures, 381382
DarcyWeisbach equation, 93, 111
Data
bits, 447
bus, 3
Debugging process, 8, 13
Decibel scale, 455, 459461
environmental noise, 456f
Delphi, 10
Density, 31
Depressions in observation wells, 8183
Desalination/desalting, 181190
definition, 181
freezing, 181
membrane process, 181
methods, 181190
distillation, 181184
electrodialysis, 188190, 188f
osmosis, 184187, 184f
RO process, 181, 185f
Digital pen, 4
DIM statement, 1718
Direct effects noise, 459
Discrete particle settling, 132, 134138
Disinfection process, 190192
chemical disinfectant characteristics, 190
chlorination, 190192
Diskettes, 5
Dispersion models, 436, 440448
Dissolved oxygen (DO), 51
concentration, 5253
saturation values in water, 470
Dissolved solids content, 181t
Distillation, 181184
benefits, 182
heating tubes, 182
Distribution reservoirs, 86, 87f
Diverted refuse, 293
DO. See Dissolved oxygen (DO)
Document scanners, 4
DOLOOP construct, 17
Dorr settling tanks, 151154
Dot matrix printers, 4
.NET, 9
.NET framework (.NET FX), 1112
Downwind ground-level concentration, 443446
DrawLine() function, 17
DrawRectangle() function, 17
DrawString() function, 17
Drift velocity, 404
DuLong formula, 307
Dynamic viscosity, 34
E
Economic problems, corrosion, 192
Effective area of settlement, 151
Effective stack height, 436440, 438t
Efficiency coefficient of system, 162
Electric conductivity, 2728
Electrodialysis, 188190, 188f
Electrokinetics, 155
Electrokinetic potential, 155
Electrophoretic mobility (EM), 155
Electrostatic precipitators (ESPs), 361, 403408, 403f
Empirical power law velocity profile, 94
Encapsulation, 7
End statement, 15
Energy loss equations, pipe, 103
Enigma, 1
Environmental Protection Agency (EPA), 361
ISC2 model, 436
units of measurement, 364t
Equivalent-length method, 100102
Equivalent-velocity-head method, 98100
ESPs. See Electrostatic precipitators (ESPs)
Event handler, 12, 18
F
Fabric filters, 413417, 414f
Fechners law, 459
FEM. See Finite element method (FEM)
Filter
bags, 413
bed expansion, 179
Filtration, 164180
backwashing of rapid sand, 179180
bed expansion, depth of, 180
effluents, impurities concentration of, 179
filter bed clogging, 178179
friction factor, 167
head loss, 167173
Newtons drag coefficient, 167
objectives, 164
overview, 164166
porous media, 164
rapid vs. slow sand, 165t
schematic diagram, sand, 167f
theory, 167178
Finite element method (FEM), 110112
advantages, 118
application, 110
Fire
demand, 7275
approximation, 7375
flow duration, 72t
hydrant spacing, 72t
Flocculation
and coagulation, 155161
design parameters, 157
electrokinetics, 155156
overview, 155
design, 157161
power for, 158161
Flocculent settling, 132
removal ratio, 150
Floppy disks, 5
Flow-mass curve, 87
Flow resistance, 131
FormatNumber() function, 17
form_load() function, 1
FORTO statement, 16
FORTRAN (Formula Translation), 9
Free- and open-source software (FOSS), 10
Free Software Foundation (FSF), 10
Frequency, 458, 458f, 459f
Freundlich adsorption isotherm, 428, 430432
straight-line form, 428, 428f
Friction factor, 95, 111
Froude number, 148
Full duplex method, 447
G
Garbage collector, 9
Gas(es), 361
laws, 368378
Boyles law, 368370
Charless law, 370374
ideal gas law, 374378
Gaseous air contaminants concentration, 364365
Gaseous contaminants, 418, 418f
Gaussian dispersion models, 440446, 441f, 442f
Gaussian models, 436
Gay-Lussacs law, 370
General Public License (GPL), 10
General-purpose languages, 7
GoTo statement, 15
Graphical user interfaces (GUIs), 3
Graphics object, 17
Gravity aerators, 161
Grid pattern, pipeline, 92
Grit removal, 241244
Groundwater, 67
aquifers, 75
drawdown computations, steady unconfined aquifer, 85
flow velocity within, 7779
flow, 7586
aquifers, 75
depressions in observation wells, 8183
steady unconfined, 84
velocity within aquifers, 7779
recharge, 86
GUIs (graphical user interfaces), 3
H
HagenPoiseuille flow, 93
Half-life period, 60
HAPs (hazardous air pollutants), 361
Hard disks, 5
Hardness of water, 4546
advantages and disadvantages, 46
degree of, 46t
estimation, 4750
Hardy Cross method, 103104, 106109
disadvantages, 110
FEM advantage over, 118
Hazardous air pollutants (HAPs), 361
Head loss, pipe, 95
due to friction, 9597
minor, 98
Health problems, corrosion, 192
Heat value of refuse, 307, 317319
Heel, 429
Henrys law, 382384
gases in water at 25C, 382, 382t
High-level programming languages, 710
C++, 910
FORTRAN, 9
Java, 9
Pascal, 10
VB.NET, 9
Hindered settling, 132134
Hydraulic conductivity, 76
Hydraulic elements graph, 472
Hydrogen ion concentration, 4345
Hydrological cycle, water, 68f
I
Ideal gas law, 374378
Ideal settling basin, 146
IFELSE construct, 16
IFTHEN statement construct, 16
Imhoff tank, 235236
Impact printers, 5
Incidental groundwater recharge, 86
Indirect effects noise, 459
Industrial Source Complex (ISC2) model, 436
Infrasound, 455, 458
INPUTBOX functions, 18
Input devices, 34
digital pen, 4
document scanners, 4
keyboard, 3
QWERTY, 2f, 3
mouse, 2f, 34
Integrated development environment (IDE), 12
Intentional groundwater recharge, 86
Intermediate language, 7
Internet of Things, 6
ISC2 (Industrial Source Complex) model, 436
Isotherm
adsorption, 428
Freundlich adsorption, 428, 430432
J
Java, 9
Java virtual machine (JVM), 89
Jitter, 12
Johnstones equation, 408
Just-in-time translator, 12
JVM (Java virtual machine), 89
K
Kemeny, John, 13
Keyboard, 3
Kinematic
velocity, 134
viscosity, 34
from dynamic viscosity, 3536
Kirchoffs loop law, 103
Kirchoffs node law, 103
Kurtz, Thomas, 13
L
Laminar flow, 386
Laminar pipe flow, 93
Landfill gas emissions model (LandGEM) model, 330
Langelier index (LI), 192
Law of Weber, 459
Lenntech water hardness calculator, 45
LI (Langelier index), 192
Light particles, 132
Linux, 6
Logarithmic scale, 455, 459
Logical errors, 13
Log-normal distribution, 390
Loop, pipe, 102
M
Mass curve, water storage, 8688, 88f
Materials recovery facility (MRF), 293
Mathematical modeling technique, 1
Memory mapped input/output (MMIO), 4
Moderate rate of growth method, 6970, 70f
Moisture content, 297298
solid waste, 299303
uncompacted refuse components, 297298, 298t
Mole
fraction of gas, 51
and mole fraction, 365368
gaseous mixture, 366368
Monitor, 4
Moody chart, 95
Moodys diagram, 474
Mouse, 2f, 34
MRF (materials recovery facility), 293
MSGBOX functions, 18
MS Windows, 11
Multiple catalysts, 421423
Multiuser printer, 4
Municipal solid waste (MSW), 293353
biochemical processes, combustion, and energy recovery, 335346
combustible, components, 307, 307t
overview, 293297
sanitary landfill, 330334
solid waste
chemical properties, 306320
collection, 320330
cost estimates, 346353
physical properties, 297306
Municipal water works, 131
N
Namespace, 15
National Ambient Air Quality Standards (NAAQS), 361, 362t
Net sound pressure level, 461462
Newtons drag coefficient, 167
NEXT statement, 16
Noise, 455
control, 465466
exposure, weekly average, 463
pollution and abatement, 455467
decibel scale, 459461
effects, 459
measurement, 465467, 466f
sound and noise, 455459
sound fields, 461465
Nonimpact printers, 5
Nonregenerative adsorption systems, 428
Nonuniform velocity distribution and short-circuiting, 147149
O
Object-oriented programming (OOP), 6
OCR (optical character recognition) software, 4
Office of Air Quality Planning and Standards (OAQPS), 436, 447
OOP (object-oriented programming), 6
Open loop, water pipe, 102
Open Source Initiative, 10
Open-source movement, 1012
Operating system, 6
Optical character recognition (OCR) software, 4
Optimization models, 1
OS kernel, 6
Osmosis, 184187, 184f
Osmotic pressure, 184
Output devices, 45
monitor, 4
printers and plotters, 45
P
Packed column absorption towers, 423427
Packing factor, 429
Parallel water pipes, 102118, 104f
FEM, 110112
advantages, 118
application, 110
Hardy Cross method, 103104, 106109
disadvantages, 110
FEM advantage over, 118
Parity, 447
Partial pressure, 381
Daltons law, 381382
Particle size, 298303
distribution, 390395
Particulate matter (PM), 361, 363
Pascal, 10
Pascal, Blaise, 1
Pasquill stability, 437t, 440
Passing by reference (ByRef), 18
Passing by value (ByVal), 18
PC. See Personal computer (PC)
Peak gas production, 331332
Permanent threshold shift, 459
Permeability, 303
coefficient of aquifer, 79
Personal computer (PC), 2. See also Computer
components, 3f
keyboard, 3
Personal printer, 4
pH, 43
Phase velocity/speed of sound, 458
Physical adsorption, 427
Physical modeling, 436
Physical printers, 4
Physical treatment, unit operations, 131
Pipe(s), 92
coefficient, 112
constant exponent, 103
flow
alignment chart, 473
rate through, 93
friction and continuity equations, 100
head loss due to friction in, 9597
network, 102, 110f
analysis by FEM, 110118
in parallel, 102118, 104f
FEM, 110112
Hardy Cross method, 103104, 106109
in series, 98102, 98f
equivalent-length method, 100
equivalent-velocity-head method, 98
viscous flow in, 9394
water flow in, 9398
laminar flow, 93
minor losses, 98
turbulent flow, 9495
Plant storage reservoirs, 86
Plate type precipitator, 403, 404f
Plotter, 5
Plume rise, 436437
calculations, 437, 437f
PM (particulate matter), 361, 363
Poiseuilles law, 93
Pollutants concentration
lakes, 286287
in rivers, 279
Population estimation, 6971
arithmetic progression method, 69
geometric progression method, 70
long-period estimates, 69
moderate rate of growth, 6970, 70f
short-period estimates, 69
Present worth factor (PWF), 348
Present worth value, 348
Printers, 45
Procedural programming, 6
Processor, 2
Programming and languages, 610
compiled and translated languages, 78
event-driven environments, 7
high-level, 710
C++, 910
FORTRAN, 9
Java, 9
Pascal, 10
VB.NET, 9
intermediate, 7
object-oriented vs. procedural programming, 67
Programs (computer), 56
preparation and execution error, 13
Proximate analysis, 307
Pseudo loop, water pipe, 102
PWF (present worth factor), 348
Q
QWERTY keyboard layout, 2f, 3
R
Radial flow sedimentation tank, 152f
Radioactivity, 6063
rate of decay, 6163
Random access memory (RAM), 5
Raoults law, 184
RDF (refuse-derived fuel), 316
Re. See Reynolds numbers (Re)
Reaction rate coefficient, 419
Read-only memory (ROM), 5
Rectangular horizontal sedimentation tank, 133f
Rectangular sedimentation tank, 150151, 150f
Rectangular water storage tank, 121123
Refuse collection trucks costs, 352
Refuse-derived fuel (RDF), 316
Regenerative adsorption-type system, 428, 429f
Relaxation method, 103
REM statement, 15
Reservoirs, water storage, 86
capacity, 8891
Residential fire flows, 72t
Resistance coefficient, 103
Reverse osmosis (RO) process, 181, 185f
Reynolds numbers (Re), 92, 146, 386387
RI (Ryznar index), 192193
Rippl mass curve, 87
River classification patterns, 280t
ROM (read-only memory), 5
RosinRammlerSperlingBennett (RRSB) function, 303
Runtime errors, 13
Ryznar index (RI), 192193
S
Salinity, 29
correction term, 192
Sand filter, schematic diagram of, 167f
Sanitary landfill, 330334
Scan code, 3
Scouring, 147
SCRAM (Support Center for Regulatory Air Models), 447
SCREEN2 dispersion models, 436, 447448
Sedimentation process, 132154
aim of, 132
basin, 146
efficiency reduction, 146149
definition, 132
and flotation, 132f
general design considerations, 150154
circular settling tanks, 151154
rectangular tanks, 150151
settling. See Settling phenomenon
tanks
circular, 133f, 153154
radial flow, 152f
rectangular, 150f
rectangular horizontal, 133f
round-the-end baffles in, 147f
Series water pipes, 98102, 98f
equivalent-length method, 100
equivalent-velocity-head method, 98
Settling phenomenon, 132154
chambers, 392, 395398, 396f
characteristics, 138146
circular settling tanks, 151154
class I, 134
column test, 138f
cumulative frequency distribution plot, 139f
definition, 132
of flocculent particles, 150
tank
efficiency, 144146
effluent, SS in, 140144
types of, 132134
compression, 134
discrete particle, 132, 134138
flocculent, 132
hindered, 132134
velocity for spherical discrete particles, 135138
zone designing, 149150
allowable weir loading, 150
surface area, 149
SFF (sinking fund factor), 348
Shared printer, 4
Shear stress, 94
Short-circuiting, 147
Simulation models, 1
Sinking fund, 348
Sinking fund factor (SFF), 348
Sludge
hopper, 150
volume of, 152
treatment and disposal, 266278
dewatering, 268274
digestion, 266268
Software, 5
Solid font mechanisms, 5
Solids, 29, 29f
Solid waste
chemical composition and energy content, 309316
chemical properties, 306320
fusion point of ash, 306
heat value of refuse, 307320
proximate analysis, 307
ultimate analysis, 307
volatile solids, 307
collection, 320330
processing, and material separation, 325330
cost estimates, 346353
capital cost and CRF, 346348
present worth value and PWF, 348
sinking fund and SFF, 348351
total cost, 351353
diversion, 295296
physical properties, 297306
angle of repose, 304, 304f
apparent density, 303304
material abrasiveness, 306
moisture content, 297298
particle size, 298303
permeability of compacted waste, 303
size of reduction in volume, 304306
production units, 294t
properties and characteristics, 320, 320t
volume reduction, 305306
Sound, 455
absorption, 466467
in different media at 0C, 456t
fields, 461465
insulation, 466
level, 464465
meter, 465, 466f
and noise, 455459, 456f, 456t
pressure level, 460461
speed in air, 456t
velocity and wavelength, 457458
wave, 458
travel, 456f
Special-purpose languages, 7
Specific capacity, well, 79
Specific gravity, 31
Specific volume, 31
Specific weight, 31
Speed propagation, 458
Spherical discrete particles, settling velocity, 135138
SS. See Suspended solids (SS)
Stack gases, temperature, 344346
Stallman, Richard, 10
Stand pipe, 86
State-of-the-art techniques, 436
Stoichiometric oxygen, 339
and air for gas combustion, 339342
Stokes law, 387390
terminal velocity, 389390
Stop bits, 447
Storage
reservoirs, 86
tanks, structural design of, 118126
design, 123126
forces analysis, 118123
STRING class, 17
Strings, 14
Subroutine, 18
Sun Microsystems, 9
Supervisor programs (computer), 6
Surface tension, 36, 36f
capillary heights in, 3741
Surface water, 67
Suspended solids (SS), 239
concentration, 138
in settling tank effluent, 140144
Syntax errors, 13
System bus, 2f, 3
T
Tank depth, 151
TDS (total dissolved solids), 31, 31f, 181f
Technology Transfer Network (TTN), 436, 447
Teledyne Water Pik Instapure Filtration System, 418
Temperature, water and wastewater, 2327
conversion to different scales, 2427
Thermophilic organisms, 337
Thiem formula, 79
Thomas method, 54
Threshold level, 455
Top-down approach, water footprint, 67
Torvalds, Linus, 6
Total dissolved solids (TDS), 31, 31f, 181f
Transmissibility, 76
Treatment process of water, 131197
aeration and gas transfer, 161164
aim, 131
classification, 131
corrosion, 192197
classification of, 196f
overview, 192
potential indicators, 192195
rate of, 195197
types, 195f
desalination methods, 181190
distillation, 181184
electrodialysis, 188190
osmosis, 184187
disinfection process, 190192
chlorination, 190192
dissolved solids content, 181t
filtration, 164180
backwashing of rapid sand, 179180
bed expansion, depth of, 180
effluents, impurities concentration of, 179
filter bed clogging, 178179
friction factor, 167
head loss, 167173
Newtons drag coefficient, 167
overview, 164166
porous media, 164
rapid vs. slow sand, 165t
schematic diagram, sand, 167f
suitable materials, 164
theory, 167178
flocculation and coagulation, 155161
overview, 131
pressure regulation with multiple-effect distiller, 182f
screening, 131132
sedimentation, 132154
basin, 146
characteristics, 138146
cumulative frequency distribution plot, 139f
definition, 132
of flocculent particles, 150
and flotation, 132f
general design considerations, 150154
settling column test, 138f
settling zone design, 149150
types of, 132134
TDS, 181f
TTN (Technology Transfer Network), 436, 447
Tube type precipitator, 404f
Turbulence, 146147
Turbulent pipe flow, 9495
U
Ultra sounds, 455, 458
Uniformity coefficient, 298
Until loop, 17
Urban noise sources, 455
U.S. Clean Air Act Amendments, 361
U.S. EPA dispersion models, 447
User programs (computer), 6
Utility programs (computer), 6
V
VALLEY, 448
Van der Waals equation, 378381, 378t
Vant HoffArrhenius equation, 190
Variables, 14
VB. See Visual Basic (VB) language
VB.NET, 9, 1112
fundamentals of, 1319, 20t
CASE construct, 16
DIM statement, 1718
DOLOOP construct, 17
drawing functions, 17
End statement, 15
FORMAT family of functions, 17
form code and design, 13, 14f
FORTO statement, 16
functions and subroutines, 18
GoTo statement, 15
IFELSE construct, 16
IFTHEN statement construct, 16
intrinsic functions, 1516
MSGBOX and INPUTBOX functions, 18
NEXT statement, 16
objects and their properties, 1819
operators, 15
REM statement, 15
STRING class, 17
variables and constants, 1415
namespaces in, 15
Velocity gradient, 157
Venturi
scrubbers, 408413
wet collector, 409f
Video memory, 4
Virtual printers, 4
Viscosity, 34
Visual Basic (VB) language, 11
mathematical functions in, 16t
Visual Studio (VS), 1213
Volatile memory, 5
The von Neumann model, 2, 2f
VS (Visual Studio), 1213
VS.NET, 1213
W
Waste concentration in estuaries, 287288
Waste stabilization ponds (WSPs), 260266
design, 261266
general, 261
maturation WSP, 263264
mixed conditions, 261262
Wastewater. See also Water and wastewater
attached growth treatment processes, 252260
disposal, 278288
dilution, 278279
DO and BOD of river, 282285
DO sag curves in rivers, 281285
into lakes, 285287
into natural waters, 280285
oxygen renewal and depletion in rivers, 280281
reaeration constants, 280t
river classification patterns, 280t
into stream, 278f
flow rates, sources and evaluation, 236239
preliminary treatment, 241244
secondary treatment, 244252
treatment, 241
unit operations and processes, 241
Water
demand, fluctuations in, 86
distribution, 92118
flow in pipes, 9398
parallel pipes, 102118
pipelines patterns, 92
series pipes, 98102
systems, 92
viscous flow in closed conduits, 9293
fire demand, 7275
footprint, 6768
hydrological cycle, 68f
movement on earth, 67
physical properties, 469
population growth and consumption design rates, 6971
sources, 67
selection, 6869, 68f
storage, 8691
reservoirs, 86
structural design. See Storage tanks, structural design of
tank, 87f
volume, 87
use cycle, 69, 69f
Water and wastewater
biological properties, 5160
BOD, 5360
DO, 5153
chemical characteristics, 4350
hardness, 4550
hydrogen ion concentration, 4345
physical properties, 2343
bulk modulus, 4143
conductivity, 2728
salinity, 29
solids content, 2930
surface tension and capillary rise, 3641
TDS, 31, 31f
temperature, 2327
properties, 23
Wave length, 458
While loop, 17
Winchester disks, 5
WorrellStessel equation, 328
WSPs. See Waste stabilization ponds (WSPs)
Z
Zeta potential (ZP), 155
Zone settling, 132134