Pumping Design Software.pdf

UNIVERSITY OF NAIROBI
DEPARTMENT OF MECHANICAL AND MANUFACTURING
ENGINEERING
PROJECT NUMBER GMN 02 / 2011
DEVELOPMENT OF DESIGN SOFTWARE FOR PUMPING
SYSTEMS IN HORTICULTURAL AND FLORICULTRUAL
INDUSTRIES
This report is submitted in partial fulfilment of the requirements for the
award of the degree of Bachelor of Science in Mechanical and
Manufacturing Engineering.
Authors:
1. MARGARET KAMAU WAKONYO
F18 / 10700 / 2006
2. ALLAN BOGONKO OKINYI
F18 / 11105 / 2006
Project Supervisor: ENGINEER GEORGE MAKARI NYORI
Page | 1
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
DECLARATION
Unless where stated, acknowledged or referenced, we (Margaret Kamau Wakonyo and Allan
Bogonko Okinyi) declare that the project report which includes research work, development,
findings, discussions and conclusions is entirely our quintessential effort and to the best of our
knowledge is original. The project details entailed in our report has not been presented before to
the best of our knowledge.
1. Bogonko Allan Okinyi,
Signature...........................................................
This day.................................of.........................
2. Kamau Margaret Wakonyo,
Signature...........................................................
This day.................................of.........................
3. Project Supervisor: Eng. Nyori Makari George,
Signature...........................................................
This day.................................of.........................
Page | 2
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
DEDICATION
This project is dedicated to Pete, Kate and Nate for there never was, there never could be a better
way to thank them. For the motivation and ability to stir up our inner capabilities, strength and
imagination to believe in ourselves and further manage to bring out the best in us.
Page | 3
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
ACKNOWLEDGEMENT
We humbly thank the Almighty God for his unending blessings of good health, wisdom and sound
minds.
We are grateful to Limuru Archdiocesan Farm for giving us the opportunity to validate the
software.
Lest too we forget our beloved parents, family members, friends and colleagues for their
invaluable support, their love for us and most of all for their continued optimism and believe in us.
Finally to our project supervisor, Eng. Nyori for his untainted support and guidance.
We acknowledge and appreciate you all.
Page | 4
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
ABSTRACT
Following intense research and development in software technology it is possible to convert
design variables in engineering product development using easy–to-learn and code software
languages such as Microsoft visual basic and Microsoft C++. The objective of this project was to
analyse design variables in development of pumping system for horticultural firms. The ultimate
design is based on research work carried out in the previous two years on horticultural farms and
the software was developed using Microsoft Visual Basic Programming Language. The design
variables include crop water requirement, size of land in use, type of pipe material, static head and
the length of the pipeline. This project uses the moody diagram (for friction factor), Kenya pipe
standards designation: KS 149: PART 2000 as well as Ajax end suction pumps (elite type)
performance curves and data tables. The pumping software developed is able to determine for the
user the pipeline flow rate, pipe diameters, net head to be overcome and an approximately
suitable pump model.
Page | 5
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
TABLE OF CONTENTS
DECLARATION....................................................................................................................
DEDICATION........................................................................................................................
ACKNOWLEDGEMENTS.......................................................................................................
ABSTRACT...........................................................................................................................
NOMENCLATURE.................................................................................................................
PROBLEM STATEMENT..................................................................................................
Objective
1. INTRODUCTION.............................................................................................................
1.1. Horticulture
1.2. Horticulture industry in Kenya
1.3. Floriculture
1.4. Problems encountered in Kenya’s horticultural industry
2. LITERATURE REVIEW......................................................................................................
2.1. Irrigation
2.2. Drip irrigation components
2.3. Crop water requirements (CWR)
2.4. Factors that affect the crops evapotranspiration rate
2.5. Determination of crop water requirement
2.6. Land topography
2.7. Irrigation pumps
2.8. Visual basic
3. PUMPING SYSTEM DESIGN SOFTWARE..........................................................................
3.1. Methodology
3.2. Variables in the design of a pumping system software
3.3. The programme
4. DISCUSSION, RECOMMENDATION & CONCLUSION.......................................................
4.1. Variables
4.2. Data Collected
4.3. Recommendation
4.4. Conclusions
BIBLIOGRAPHY AND REFERENCES
ATTACHMENTS
Page | 6
Margaret Kamau Wakonyo
2
3
4
5
8
9
9
10
10
10
11
12
13
13
13
14
15
15
18
18
21
25
25
25
29
34
34
35
36
37
39
40
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
LIST OF TABLES
Table 1.1 – Some of Kenya’s main types of exports
Table 2.1 – Approximate values of ETo (mm/day)
Table 2.2 - Table showing some of the factor limiting Land for horticultural use
Table 2.2a – Mean daily percentage of annual daytime hours for different latitudes
Table 2.3a – Values of crop factors, Kc for various crops at different stages
Table 2.4 – Visual basic 2008 Express edition mathematical operators
Table 2.5 – Visual basic 2008 Express edition conditional operators
Table 2.6 – Visual basic 2008 Express Edition logical operators
Table 4.1 – Table showing the pumping system sample data
Table 4.2 – Table showing the parameters designed by the software
Pages
11
17
18
Attachment
Attachment
24
24
24
35
36
LIST OF FIGURES
Figure 2.1 – Major components of drip irrigation
Figure 2.2 – Parts of a centrifugal pump
Figure 2.3 – An image depicting the positive static suction arrangement for a
characteristic water pump
Page | 7
Margaret Kamau Wakonyo
Pages
14
19
21
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
NOMENCLATURE
Symbols and Abbreviations
Symbol
CWR
ET
ETO
KC
TMAX
TMIN
TMEAN
UPVC
Re
H
Hf
Hs
k
N
ns
f
υ
di
do
Q
g
Meaning
Crop Water Requirement
Evapotranspiration
Reference Crop Evapotranspiration
Crop Factor – KC
Maximum temperature
Minimum temperature
Mean daily temperature
Unplasticized Polyvinyl Chloride
Reynolds Number
Head
Friction Head
Static Head
Internal Roughness
Speed of Rotation
Specific Speed
Friction Factor
Kinematic Viscosity of Fluid
Internal Diameter
Nominal Diameter
Flow Rate
Acceleration due to Gravity
Page | 8
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
PROBLEM STATEMENT
To develop a design software suitable for pumping system in horticultural and floricultural
industries.
OBJECTIVES
To un ify all the data available from the previous years’ project work and determine the
variables for design of a pumping system for a horticultural industry.
To develop a flow chart for the program incorporating its functionality and logical
sequence.
To develop design software using Microsoft Visual Basic programming language.
Page | 9
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
CHAPTER 1
INTRODUCTION
1.1.
Horticulture
Horticulture is the industry and science of plant cultivation including the process of
preparing soil for the planting of seeds, tubers, or cuttings. Crops grown include fruits,
berries, nuts, vegetables, flowers, trees, shrubs, and turf. Horticulturists work to improve
crop yield, quality, nutritional value, and resistance to insects, diseases, and environmental
stresses. Horticulture has a very long history. The origins of horticulture lie in the
transition of human communities from nomadic hunter-gatherers to sedentary [1] or semisedentary horticultural communities, cultivating a variety of crops on a small scale around
their dwellings or in specialized plots visited occasionally during migrations from one area
to the next. Horticulture primarily differs from agriculture in two ways; firstly it generally
encompasses a smaller scale of cultivation, using small plots of mixed crops rather than
large fields of single crops. Secondly horticultural cultivations generally include a variety of
crops, even including fruit trees with ground crops. Agricultural cultivations however as a
rule focus on one primary crop.
1.2.
Horticulture Industry in Kenya
In Kenya agriculture accounts for about 24% of Kenya’s GDP where it’s estimated that 75%
of the population depend on the sector either directly or indirectly. Further the
horticultural sub-sector of agriculture has grown and earned for itself the status of the
fastest growing industry in terms of value, investment prospects and volume in export
sales in the last decade to become a major income earner for the country (ranked third in
terms of foreign exchange earnings after tourism and tea[2]) especially in terms of foreign
exchange and has opened up new potential in the agricultural sector as it creates
employment to over two million people since its labour intensive and has become a major
contributor of food needs in the country. The premiere horticultural crops nurtured are
fruits, vegetables and cut flowers where Kenya’s favourable tropical and temperate
climatic conditions make it possible for horticulture production whilst supporting the
growth of a wide range of horticultural crops. Horticulture in Kenya is mainly rain fed
though a number of farms, especially the ones growing horticultural crops for export, also
use irrigation. The sub-sector is characterised by a remarkable variety in terms of farm
sizes, variety of produce, geographical area of production as well as the level of skilled
labour in use and complexity of inputs used.
A well-developed and dynamic private sector has profitably marketed a wide range of
horticultural products to diverse international markets. Government intervention in this
area has been minimal, mainly facilitating the sectoral growth through infrastructure
1
2
Sedentary - abiding in one place not migratory
Ministry of Tourism, Trade and Industry Report on Horticulture on Commercial Farming for October 2009
Page | 10
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
development, incentives and support services. Structural and macroeconomic reforms, as
well as the introduction of more moderate trading environment has also provided a major
boost to the country’s horticultural prospects.
1.3.
Floriculture
Floriculture is a highly specialised industry and capital intensive. Flowers form a major part
and account for about half of Kenya’s fresh horticultural exports.
The Kenyan flower industry is expanding, with roses continuing to dominate the export
market with sales up from 24.6 million kilograms in 1999 to 28.4 million kg in 2003, a 15%
increase. The major flower varieties grown and exported from Kenya are roses, carnations,
statice, cutfoliage, carthhamus, solidaster/solidago, chrysanthemums, arabicum, trelizia,
rudbeckia, gypsophilia, lilies, molucella, erynngium and tuberoses.
Cut Flowers
Fruits and Nuts
Vegetables
Roses and Lilies
Avocados
French and Runner beans
Carnations and Statice
Apples
Snow and Garden peas
Chrysanthemums
Mangoes
Asparagus and Aubergines
Alstroemesia
Melons
Chillies and Onions
Arabicum
Strawberries
Beetroot and Broccoli
Ornithogalum
Passion fruits
Asian vegetables
Cut foliage
Pineapples
Carrots and Cauliflower
Carthhamus
Cashew nuts
Spices and herbs
Solidaster and solidago
Macadamia nuts
Courgettes and Cucumber
Table 1.1: Some of Kenya’s main types of exports, 2000 [3]
3
Economic Survey: Central Bureau of Statistics
Page | 11
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
1.4.
Problems encountered in Kenya’s horticultural industry
1.4.1. Threat
i. Trade barriers
ii. Competition from other exporting countries
iii. Dynamic market requirements
iv. Over-dependency of donor funding
v. Unstructured local market
1.4.2. Major constrains
a. Competition from other exporting countries
b. Small fragmented production units
c. In cohesive and unstable farmer groups
d. Poor post harvest handling
e. Price fluctuation
f. Poor infrastructure e.g. road network, cold storage, electricity and other
communication channels
g. High freight charges
h. Multiple taxes from local authorities
i. Bureaucracies of license and taxation
j. Poor investment policies
Page | 12
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
CHAPTER 2
LITERATURE REVIEW
2.1.
Irrigation
Irrigation plays a major role in horticulture; it provides artificial application of water to the
soil. It assists in the growing of agricultural crops, maintenance of landscapes, and
revegetation of disturbed soils in dry areas and during periods of inadequate rainfall.
Additionally, irrigation also has a few other uses in crop production, which include
protecting plants against frost [4] and helping in preventing soil consolidation. Agriculture
that relies only on direct rainfall is referred to as rain-fed or dry land farming. Irrigation
systems are also used for dust suppression, disposal of sewage, and in mining. Irrigation is
often studied together with drainage, which is the natural or artificial removal of surface
and sub-surface water from a given area. Thus mechanical engineering comes in as a
substantive tool for designing and establishing the essential machinery for supplying the
required amount of water at the most technological conscious methods, energy saving and
efficient.
The main irrigation system considered was drip irrigation which is practised in most flower
farms. Drip irrigation (trickle irrigation or micro irrigation), is an irrigation technique which
saves water and fertilizer by allowing water to drip slowly to the roots of plants, either
onto the soil surface or directly onto the root zone, through an arrangement of valves,
pipes, tubing, and emitters. Drip irrigation may also use devices called micro-spray heads,
which spray water in a small area, instead of dripping emitters [5]. These are generally used
on tree and vine crops with wider root zones. Careful study of all the relevant factors like
land topography, soil, water, crop and agro-climatic conditions are needed to determine
the most suitable drip irrigation system and components to be used in a specific
installation.
2.2.
Drip irrigation components
The following flow chart gives the major components of a drip irrigation system from water
source to the plants.
4
Snyder, R. L.; Melo-Abreu, J. P. (2005). "Frost protection: fundamentals, practice, and economics – Volume 1". Food
and Agriculture Organization of the United Nations.
5
http://www.engineeringtoolbox.edu
Page | 13
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
Water Filter(s)
Pump or pressurized
water source
Filtration Systems: a. Sand
Separator like HydroCyclone b. Screen filters c.
Media filters
Fertigation Systems
1. Venturi injector
2. Dosser Pumps
6. Delivery Lines
a. Main line, Sub – main, Distribution
Pipes b. Fittings Control and Safety
Valves c. Hand-operated, electronic,
or hydraulic control valves
Control and Safety
Valves
Hand-operated, electronic,
or hydraulic control valves
Pressure Control Valve
Backwash Controller
Pressure Regulator
Backflow Preventer
Emitting Devices at plants
Emitter or Drippers, micro spray heads, inline drippers, trickle rings
Note: An emitter is also identified as a dripper and is used to
transmit water from a pipe or tube to the vicinity that is to be
irrigated.
Figure 2.1: Major components of drip irrigation.
Note: Drip irrigation systems may be manually or automatically operated by a controller.
2.3.
Crop Water Requirements (CWR)
Crop Water Requirement (CWR) is the total amount of water required to balance the
evaporation and transpiration losses from the crop. For the crops to receive their full water
requirements for their efficient productivity, water must be provided either by rain or
supplied through irrigation. Thus Irrigation requirement is the water supplied through
irrigation to enable meets the full water requirement.
2.3.1. Evaporation
It is the process by which liquid water is transformed to water vapour (vaporisation)
and removed from the evaporating surface such as soil, water or plant surfaces into
the atmosphere.
2.3.2. Transpiration
It is the process by which liquid water contained in the plant tissues vaporises and
the vapour is lost to the atmosphere. This process occurs through the stomata [6].
6
Stomata - These are small openings on the leaves of the plants that allow gases and water vapour
to pass.
Page | 14
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
2.3.3. Evapotranspiration, ET
Evapotranspiration is the combination of evaporation and transpiration where in
evaporation, water is lost from the soil surface while in transpiration; water is lost
from the crops and thus the two processes occur concurrently. The evaporation
rate of the atmosphere is expressed in terms of the reference crop
evapotranspiration, ETO which represents the evapotranspiration from a
standardized vegetated surface. Magnitude of ET is generally tenths of an inch per
day and varies with type of plant, growth stage, weather, and soil water content
and soil fertility.
2.4.
Factors that affect the crops evapotranspiration rate
Weather parameters - These include solar radiation, air temperature, humidity and wind
speed.
Crop factors - Crop type, variety and stage of development, resistance to transpiration,
crop height and roughness, reflection to solar radiation, ground cover, canopy formation
and crop rooting characteristics results to different ET levels for different crop types even
under identical water and environmental conditions.
Management and Environmental conditions - Soil salinity, poor land fertility due to
insufficient fertilizer application, consolidated and impenetrable soil horizons, poor control
of diseases and pests are management factors that limit the crop development and
consequently affect evapotranspiration. Ground cover by natural vegetation and canopy,
plant density and soil water content and its retaining capacity are some of the
environmental factors.
2.5.
Determination of crop water requirement
Reference crop evapotranspiration, ETo - The reference crop evapotranspiration ETo,
sometimes called potential evapotranspiration, PET, is defined as the rate of
evapotranspiration from a large area covered by green grass which grows actively,
completely shades the ground and which is not short of water.
Crop evapotranspiration under standard conditions, ETc - It’s the evapotranspiration from
disease- free, well fertilized crops grown in large fields, under optimum conditions while
achieving full production under the given climatic conditions.
Crop Coefficient (Kc) - It is the empirical coefficient which incorporates type of crop, stage
of growth and soil water status. A dry soil can limit ET while a wet soil surface can increase
soil evaporation. An equation relating Crop evapotranspiration under standard conditions,
ETc and Reference crop evapotranspiration, ETO is given below;
=
7
+
Equation A [7]
http://www.fao.org/docrep/u3160e
Page | 15
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
2.5.1. Method of calculating ETo (The Blaney - Criddle Method[8])
If no measured data on evaporation is available, the Blaney-Criddle method can be
used to calculate ETO. This method is straight forward and requires only data on
mean daily temperatures. However, with this method, only approximations of ETO
are obtained which can be inaccurate in extreme conditions. The Blaney-Criddle
formula is:
ETO = p (0.46Tmean + 8)
Equation B
Where
ETO is the reference crop evapotranspiration (mm/day)
Tmean is the mean daily temperature (° C)
p is the mean daily percentage of annual daytime hours.
The Blaney-Criddle Method always refers to mean monthly values, both for the
temperature and the ETO. If in a local meteorological station the daily minimum and
maximum temperatures are measured, the mean daily temperature is calculated as
follows:
=
Equation C
=
Equation D
=
Equation E
To be able to obtain the p value, it is essential to know the approximate latitude of
the area: the number of degrees north or south of the Equator. (See Attachment
for Mean daily percentage of annual daytime hours for different latitudes).
Model Calculation
For example, when p = 0.29 and Tmean = 21.5 °C,
The ETO is calculated as follows:
ETO = 0.29 (0.46 x 21.5 + 8)
= 5.2 mm / day.
The approximate values for ETO above may be used in the absence of measured or
calculated figures.
8
http://www.fao.org/docrep/u3160e
Page | 16
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
Climatic zone
Desert/arid
Semi-arid
Sub-humid
Humid
Mean daily temperature
1515°
25°
25°C
4-6
7-8
9-10
4-5
6-7
8-9
3-4
5-6
7-8
1-2
3-4
5-6
Table 2.1: Approximate Values of ETo (mm/day) [9]
2.5.2. Crop Factor – KC
In order to obtain the crop water requirement, ETC, the reference crop
evapotranspiration, ETO, is added to the crop factor, Kc. The crop factor ("crop
coefficient") varies according to the growth stage of the crop. There are four growth
stages to distinguish:
a)
b)
c)
d)
The initial stage: when the crop uses little water
The crop development stage, when the water consumption increases
The mid-season stage, when water consumption reaches a peak
The late-season stage, when the maturing crop once again requires less water.
The crop factor, Kc, mainly depends on: the type of crop, the growth stage of the
crop and the climate. Thus, to determine the crop factor Kc, it is necessary, for each
crop, to know the total length of the growing season and the lengths of the various
growth stages. (See Attachment for values of crop factors Kc for various crops at
different stages).
2.5.3. Factors influencing crop water requirement for irrigation
Climatic Influence - Certain crops grown in sunny and hot climate need more water
per day than the same crops grown in a cloudy and cooler climate. Humidity and
wind speed also affect CWR. When it’s dry the crop water needs are higher than
when it’s humid. Likewise, in windy climates the crops use more water than in calm
climates.
Type of crop - The crop type has an influence on the daily water needs of a fully
grown crop and on the duration of the total growing season. Different types of
crops have diverse rates of evapotranspiration thus the water requirement also
fluctuates.
Soil media - The physical, chemical and biological property of the soil determines
amount of water and frequency of water supply to the plants. Ideally the soil in the
cultivated area should be a deep, fertile loam.
9
www.fao.org/docrep/u3160e/u3160e04.htm
Page | 17
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
2.6.
Land Topography
The climatic condition of a land varies largely with topography and altitude. Average
temperature decreases as elevations increase in the mountains. The areas that experience
heavy rainfall, and as a result, most of the rivers and streams are highly inflated. Although
heavy rains help regeneration of forests, it is also responsible for speedy soil erosion and
landslides which make the maintenance of roads quite costly.
A land considered good should at least have a combination of good quality water, suitable
sites for large farm dams and suitable soils which favour irrigated horticulture.
Degree of Limitation
Factor
Dam Sites
Soil Drainage
Erosion Hazard
Soil Depth
Good
Moderate
Severe
Suitable, undulating
hilly topography, clay
Sub-soils, large
catchment area.
Well drained but
with
good water-holding
capacity for plant
growth
Gentle to moderate
slopes, either loamy
or sandy soils
Marginal, slightly
undulating or
upper slopes with
small catchments.
Unsuitable: flat
topography, poor
sandy sub-soils.
Deep soils, gravel
and stone free
Excessively well
drained with very
1cm water holding
capacity
Poorly drained,
subject to water
logging.
Steeper slopes
with loamy soils
Steeper slopes with
sandy soils.
Moderately deep,
soils with gravel
Shallow soils with
much gravel and
massive rock outcrop
Table 2.2: Table showing some of the factor limiting Land for horticultural use
2.7. Irrigation Pumps
The heart of water movement is a big job in itself and a pump is expected to work for a
long time with little maintenance, to do its job quietly and efficiently under stress, and to
be readily repairable or disposable the moment anything wears out.
A pump is a device used to move fluids, such as liquids, gases or slurries. A pump displaces
a volume by physical or mechanical action.
Page | 18
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
2.7.1. Classification of Pumps [10]
The most basic classification criterion for differentiating the pumps, whether it is for
analysis purposes or for commercial usage, is the fluid flow pattern. There are also
other important classifications based on the power rating range and fluid discharge
rate i.e. the flow rate. The flow supplied by a pump can be sporadic or
uninterrupted. The pumps with sporadic flow are all positive displacement pumps
and pumps with continuous flow are all Roto-Dynamic pumps.
2.7.2. Positive Displacement Pumps
Positive displacement of a fluid is that a closed volume of the fluid is moved from
one part of the machine to the other part. The construction of the positive
displacement pumps is such that the moving parts along with the fixed ones inside
it can form moving enclosed volumes. They open on one side, take the fluid,
enclose it and open on the other side, discharging the fluid.
2.7.3. Centrifugal pump
A centrifugal pump is a roto - dynamic pump that uses a rotating impeller to
increase the pressure and flow rate of a fluid. Centrifugal pumps are the most
common type of pump used to move liquids through a piping system. The fluid
enters the pump impeller along or near to the rotating axis and is accelerated by
the impeller, flowing radially outward or axially into a diffuser or volute chamber,
from where it exits into the downstream piping system. Centrifugal pumps are
typically used for large discharge through smaller heads.
Figure 2.2: Parts of a Centrifugal Pump. [11]
2.7.3.1. Principle of operation of a centrifugal pump
Like most pumps, a centrifugal pumps’ purpose is to convert energy of a
prime mover (e.g. an electric motor or turbine) first into velocity or kinetic
energy and then into pressure energy of a fluid that is being pumped. The
energy changes occur by virtue of two main parts of the pump, the impeller
10
http://www.engineeringpage.com/technology/pumps/centrifugal_pump_sizing.html
11
http://www.engineeringtoolbox.edu
Page | 19
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
and the volute [12] or diffuser. The impeller is the rotating part that converts
driver energy into the kinetic energy. The volute or diffuser is the stationary
part that converts the kinetic energy into pressure energy.
Note: All of the forms of energy involved in a liquid flow system are
expressed in terms of feet of liquid i.e. head.
2.7.3.2. Generation of centrifugal force
The process fluid enters the suction nozzle and then into the impeller
section. When the impeller rotates, it spins the liquid occupying the cavities
between the vanes outward and provides centrifugal acceleration. As the
liquid leaves the eye of the impeller a low-pressure area is created causing
more liquid to flow toward the inlet. Since the impeller blades are curved,
the fluid is pushed in a tangential and radial direction by the centrifugal
force.
2.7.3.3. Conversion of kinetic to pressure energy
The amount of energy given to the liquid is proportional to the velocity at
the edge or vane tip of the impeller. The faster the impeller revolves or the
bigger the impeller is, then there will be a corresponding influence on the
fluid in that the velocity of the fluid imparted will have an increased
velocity head. This kinetic energy of a liquid coming out of an impeller is
harnessed by creating a resistance to the flow. The first resistance is
created by the pump volute (casing) that catches the liquid and slows it
down. In the discharge nozzle, the liquid further decelerates and its velocity
is converted to pressure according to Bernoulli’s principle. Therefore, the
head (pressure in terms of height of liquid) developed is approximately
equal to the velocity energy at the periphery of the impeller.
2.7.4. Pump characteristics
i. Head - Height of a vertical column of water
ii. Total static head – The vertical distance the pump must lift the water; the
difference in height between the source and the destination of the water being
pumped. Static head is independent of flow and depends on physical conditions
between suction points and discharge points.
iii. Friction head – The total energy or pressure loss due to friction as water flows
through pipe networks and fittings from suction to the discharge. It depends on
pipe material, size, length, type and number of fittings
iv. Velocity head- The energy of the water due to its velocity
12
Volute – Forming a spiral curve or curves (Oxford Dictionary of Contemporary English)
Page | 20
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
v. Suction head - The suction head includes not only the vertical suction lift, but
also the friction losses through the pipe, elbows, foot valves and other fittings on
the suction side of the pump
vi. Total dynamic head - The sum of the total static head, pressure head, friction
head, and the velocity head, to be overcome by the pumping system.
2.7.4.1. Static head
A pump should be raised above the ground level to allow for positive
suction thus improving efficiency of other pumps. The static head depends
on site conditions between the suction and the delivery reservoir, and the
location of suction and discharge points on the reservoirs. It is determined
by a survey of site conditions.
Figure 2.3: An image depicting the positive static suction arrangement for a characteristic water
pump. [13]
2.8. Visual Basic
Visual Basic is a tool that allows the user to develop Windows (Graphic User Interface GUI) applications. The applications have a familiar appearance to the user.
Visual Basic is event-driven, meaning code remains idle until called upon to respond to
some event (button pressing, menu selection ...). Visual Basic is governed by an event
processor. Nothing happens until an event is detected. Once an event is detected, the code
corresponding to that event (event procedure) is executed. Program control is then
returned to the event processor.
2.8.1. Structure of a Visual Basic Application
The design software is made up of the following applications:
a. Forms - Windows that you create for user interface
b. Controls - Graphical features drawn on forms to allow user interaction (text
boxes, labels, scroll bars, command buttons, etc.)
13
lightmypump.com
Page | 21
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
Note that: Forms and Controls are objects
c. Properties - Every characteristic of a form or control is specified by a property.
Example properties include names, captions, size, colour, position, and contents.
Visual Basic applies default properties. You can change properties at design time or
run time
d. Methods - Built-in procedure that can be invoked to impart some action to a
particular object
e. Event Procedures - Code related to some object. This is the code that is executed
when a certain event occurs
f. General Procedures - Code not related to objects. This code must be invoked by
the application
g. Modules - Collection of general procedures, variable declarations, and constant
definitions used by application.
Visual Basic operates in three modes.
1. Design mode - used to build application
2. Run mode - used to run the application
3. Break mode - application halted and debugger is available.
2.8.2. Basic tools in the tool box
a. Pointer: This is the only item in the Toolbox that doesn't draw a control. It is used
to resize or move a control after it's been drawn on a form.
b. Label: Used for text that you don't want the user to change, such as a caption
under a graphic.
c. Command Button: Used to create a button that the user can choose to carry out
a command.
d. Text Box: Used to hold text that the user can either enter or change.
e. Main Menu: Adds menus under the titles bar of the form i.e. File, Edit.
f. List Box: Used to display a list of items from which the user can choose one. The
list can be scrolled if it has more items than can be displayed at one time.
g. Tool Bar: Allows the programmer to add a toolbar to his form.
h. Error Provider: Provides a non-intrusive way of showing that there is an error
with the input or in a data set. An exclamation mark in a red square is displayed
next to the error.
Page | 22
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
2.8.3. Properties window
The Properties window contains the list of design-time properties for a selected
form, control, class, module, or menu. These properties can be changed at design
time, and the properties window shows each property's current setting. When you
select multiple controls, the properties window contains a list of the properties
common to all the selected controls.
2.8.4. Data types in VB
A variable is a named location that holds data and can only hold one data type. A
program can have as many variables as you need but one needs to declare the
variables before using them by assigning names and data types.
They are normally declared in the general section of the codes' windows using the
Dim statement where DIM stands for dimension, a storage location in memory
using the format: Dim VarName as Datatype. The Dim statement causes the
computer to set aside a location in memory with the name VarName.
2.8.4.1. Numerical data type
Numeric data is data that consists of numbers, which can be computed
mathematically with various standard operators such as, add, minus,
multiply, divide and so on. They include; integer, double, long, single,
decimal, and currency.
a) Integer - An Integer is a positive or negative number with no value
past the decimal point and no fractions but has a limitation on the
range of values it can hold.
b) Single and Double – These are data types used to represent real
numbers are commonly used as floating point values. The single uses 4
bytes and the double uses 8 bytes, so the double can store larger
values than the single.
2.8.4.2. Non numerical data type
Include string (fixed and variable length) and text, where a string refers to
data that consists of 0 to 65,400 characters of alphanumeric data including
special characters such as @, ^, ½. Also consists of textual data and are
enclosed in double-quotes. They are represented as a sequence of bit
patterns that match to alphanumeric values.
Two strings can be combined to form a new string. The joining operation is
called concatenation and is represented by an ampersand (&). The
difference between strings and integers is that strings are simply a
sequence of encoded bit patterns, while integers use the binary number
format to represent values. We will often convert back and forth between
string and number data types.
Page | 23
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
2.8.5. Mathematical Operators
These are used to compute inputs from users and to generate results. They include;
Operator
^
*
/
+
-
Meaning
1. Exponential
2. Multiplication
3. Division
4. Addition
5. Subtraction
Table 2.4: Visual Basic 2008 Express Edition Mathematical Operators
2.8.6. Conditional Operators
Conditional operators are very powerful tools, they let the VB program compare
data values and then decide what action to take, whether to execute a program or
terminate the program. They include:
Operator
Meaning
=
1. Equal to
>
2. More than
<
3. Less Than
Table 2.5: Visual Basic 2008 Express Edition Conditional Operators
2.8.7. Logical Operators
In addition to conditional operators, there are a few logical operators which offer
added power to the VB programs. These include;
Operator
And
Or
Meaning
1. Both sides must be true
2. One side or other must be true but not both
Table 2.6: Visual Basic 2008 Express Edition Logical Operators
2.8.8. Functions
The general format of a function is:
Public Function functionName (Arg As dataType ...) as
dataType
Or
Private Function functionName (Arg As dataType ...) as
dataType
Where Public indicates that the function is applicable to the whole program and
Private indicates that the function is only applicable to a certain module or
procedure.
Page | 24
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
CHAPTER 3
PUMPING SYSTEM DESIGN SOFTWARE
3.1.
Methodology
Variables in the design of a pumping system for horticultural industry, irrespective of the
geographical location and the type of crop grown were found by;
1. Analysing and reviewing the past two years submitted projects
2. Through analysis of calculations provided and determining which variables were mostly
involved
3. Referring to theoretical books on fluid dynamics to correlate obtained data with known
theoretical equations
4. Microsoft Visual Basic Programming language was used to design the pumping system
software.
3.2.
Variables in the design of a pumping system software
The design of a pumping system proceeds in three steps;
Survey of site conditions - This determines the opportunities and constraints of the
environment at which the pumping system is to be located. This physical survey
determines the length of the pipeline and intended route and the static head to be
overcome by pumping.
Selection of a pipeline - The pressure loss due to friction depends on pipeline factors
such as pipe size, material, length, fittings and velocity. Consequently, the total head to be
overcome depends on the pipeline data which in turn influences the selection of pump.
Selection of pump - Once the selection of pipe size and pipe material has been done,
the pressure head loss due to fluid friction in the pipeline is determined. The pump type
required is then selected by considering the total head to be overcome together with the
demand flow rate required.
3.2.1. Demand
The crop water requirement is obtained from the dripper capacity which is in cubic metres
per hour and is determined by,
=
Where
+
Equation 1
ETC, Crop evapotranspiration under standard conditions
ETO, Reference crop evapotranspiration
KC, Crop Coefficient.
Page | 25
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
The number of drippers was calculated for from the relation;
=
Where
Equation 2
δ, Spacing between the drippers
Χ, Sample bed length
, The number of drippers.
The flow rate through the distribution pipe line, Q was therefore found by using the
equation;
=
Equation 3
Where
Q, Flow rate through the distribution pipeline
, Number of drip lines per distribution pipe.
Note: This flow rate was used to determine the preliminary size of the distribution pipe
and consequently the actual velocity of flow in the distribution pipeline.
The Flow rate per sub – main pipe,
was obtained as follows;
=
Equation 4
Where
is the number of distribution lines per sub-main pipe
Note: This flow rate in the later stages of the study was used to establish the preliminary
size of sub-main pipe and its flow velocity in the sub – main pipeline.
For β being the number of valves being supplied with water at a go by the pump, the Pump
demand i.e. the flow rate in the main pipeline,
was calculated for using the
relationship;
=
Equation 5
Note: This flow rate should be used to determine the preliminary size of main pipe and its
flow velocity.
Using the flow rates calculated for each line and applying a guide line velocity, a
preliminary design was done which gave the preliminary internal diameter for each of the
lines. The criteria applied in choosing the guideline velocity was based on information from
Handbook of Piping Design.
Thus from the continuity equation;
=
Equation 6
It follows that flow rate; Q depends on pipe diameter and flow velocity. For the main pipe,
m
m
m
a guide velocity of 2 /s was applied, sub-main 1.8 /s and distribution line 1.6 /s.
Page | 26
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
The decrease in guide velocity was based on reduction in flow rate Q and expected
decrease in diameter from source to delivery end.
The preliminary pipeline size is obtained from continuity equation;
= {
}
Equation 7
3.2.2. Pipeline characteristics data
The programme is able to give an approximate pipeline size (preliminary design)
based on the guideline velocity then it further goes ahead to choose the most
appropriate and available size from the Kenya Standard KS 149: PART 2: 2000.
The pipe material specified by Kenya Standard is UPV-C and the format designation
adopted was UPV-C d/t-p [14], where;
UPV-C – Unplasticized polyvinyl chloride
D – The nominal diameter (mm)
t – Thickness (mm)
P – The pressure capacity (MPa)
3.2.3. Determination of the Flow velocity (u)
The flow velocity through the distribution, sub – main and main pipe was obtained
by applying the equation;
=
Equation 8
Where
The flow velocity in the specific pipe
The flow rate through the distribution pipe
The internal diameter from the Kenya Standard of the respective pipe the
flow velocity is being determined.
3.2.4. Reynolds Number (ReD)
The Reynolds number in the pipelines is calculated in terms of pipe diameter, flow
velocity and kinematic viscosity of water.
Similarly, for each of the distribution, sub-main and the main pipeline the Reynolds
number was calculated from the relation;
=
Where
14
Equation 9
The flow velocity in the depending on the pipe being analysed
The kinematic viscosity of water taken at room temperature
Kenya Bureau of Standards Pipe Material Standard
Page | 27
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
3.2.5. Head loss due to friction (Hf)
The head loss due to friction in the pipeline is calculated as outlined below;
Note: The friction factor in the pipeline depends on the pipe material and its size.
Using the above values of Reynolds Number and the pipe’s relative roughness given
by
(
)
(
Equation 10
)
The value of the friction coefficient is obtained from the Moody Chart.
Therefore, the head loss due to friction through the pipeline being investigated is
calculated using the known theoretical equation given as;
=
Where
Equation 11
.
The coefficient of friction in the pipeline being investigated for
The length of the specific pipe in our case being the three distinct
pipes; distribution, sub – main and main pipeline
.
- The value of acceleration due to gravity
3.2.6. Total head (H)
Total head through the pipelines is calculated from the simple relation;
=
Where
+
Equation 12
the static head in the specific pipeline
3.2.7. Selection of pumps
3.2.7.1. Specific speed (n s)
The specific speed ns for the pumps being used is calculated from the
fluid mechanics expression;
=
Where
√
∜
Equation 13
The rotational speed of the pump feeding the pipeline of
interest.
Page | 28
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
3.3.
The Programme
START
3.3.1. Flow Chart
1.
2.
3.
4.
Read
Dripper capacity
Dripper spacing
Bed length
Number of drip lines,
distribution lines and
valves being supplied
with water
TOTAL FLOW RATE
Output - Preliminary
Design of Pipeline
Diameters
Is preliminary
design
diameter the
KS standard?
NO
YES
Output – KS Standard
Diameter
The diameter obtained
in the preliminary
design is standardized
with a KS standard one
PROCESS FLOW VELOCITY
Output - Flow Velocity
A
Page | 29
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
A
1. PROCESS FLOW REYNOLDS
NUMBER
2. RELATIVE ROUGNESS
Output - Flow
Reynolds Number &
Relative Roughness
Enter
1. Friction Factor and
pipeline
2. Pipeline Length
PROCESS THE HEAD LOSS DUE TO FRICTION
Output - Head loss due
to friction
Input - Static Head
PROCESS THE TOTAL HEAD
Output - Total Head
B1
Page | 30
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
B1
Is Head <
30 m
YES
Choose
1450 RPMS
NO
Output – Error
message “Head
obtained is
beyond design
software
specification.”
Is Head >
30m but
< 120 m
NO
YES
Choose
2900 RPMS
PROCESS PUMP’S SPECIFIC SPEED
Output - Specific
Speed and Pump
Model
STOP
3.3.2. Start page
The page contains an end user license agreement that the user has to accept in
order to gain access to the features of the application. The validation process
requires the user to enter the correct license key on acquiring the design software.
(See Code 1A in Attachment).
3.3.3. Flow rate calculator
This is the second page of the program that calculates the flow rates through each
pipeline from distribution pipe to main pipeline. It is a public class form in that
Page | 31
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
throughout the pumping design software, values obtained on it can be called or
referred upon by other forms.
The crop water requirement is obtained from the dripper capacity which should be
in cubic metres per hour. The designer/user has to know the crop water
requirement and enters a value for the crop water requirement which is handled as
a value based string and stored in the Drippercapacity.Text. Similarly the spacing
between the drippers, entered by the user is stored in Dripperspacing.Text.
For the bed length entered by the user, the code fool proofs the value by using If
statement. If the value entered is zero or less than, the program shuts down else it
returns the value of the number of drippers to the nearest whole number. (See
Code 1 in Attachment).
The user enters the value of the number of drip lines per distribution pipe. Using
the coded equation three and the values obtained above, the flow rate in the
distribution pipe is calculated by the program and the final value is output in
Distri_flowrate.Text label. (See Code 2 in Attachment).
The user then enters the number of distribution lines per sub-main pipe he intends
to design for and the software calculates and outputs the flow rate through the
sub-main pipe in Sub_flowrate.Text. (See Code 3 in Attachment).
Finally the user enters the number of valves being supplied with water at a go to be
designed for and the software, computes and outputs flow rate through the main
pipeline in Main_flowrate.Text. (See Code 4 in Attachment).
Subsequently, the flow rate through the main pipe to the reservoir is twice that in
the supply pipeline. (See Code 4 in Attachment).
3.3.4. Diameter designer
The third page is also a public class form which calls the values of the flow rate from
the second page and stores them in “FromChildHandle(Textbox.Text).” Then using
the called flow rates and applying a preliminary guideline velocity of 1.6, 1.8,2 and 3
m/s respectively to the 4 different pipes, a preliminary design diameter is obtained.
(See Code 6 in Attachment).
From the preliminary design diameters obtained are passed through arrays for KS
Standard (KS 149: PART 2: 2000) pipe diameters and thickness, where the software
picks the appropriate design diameter. (See Code 7 in Attachment).
Using these KS standard diameter and the flow rates obtained previously, the
velocity of flow in each specific pipeline is determined and is further used to
establish the Reynolds number. (See Code 7 in Attachment).
Page | 32
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
3.3.5. Net Head Calculator
The fourth page requires the user to enter values of the co-efficient of friction, the
pipeline length and the total static head to be overcome.
All values to be used in the page are called from the various pages or forms and
stored/handled with the following code, where the present form is also a public
class thus values can be called from it and used in another form/page. (See Code 10
in Attachment).
For the relative roughness, a specific value of 0.1 for the internal roughness of the
KS standard pipe was applied in obtaining the relative roughness of each pipe. (See
Code 11 in Attachment).
Using the actual flow velocities and the respective internal diameters of the
pipelines, the software is able to calculate and display the friction head and the net
head being experienced in each pipeline. (See Code 12 in Attachment).
3.3.6. Pump Design
The software was developed based on Ajax, Elite type end – suction centrifugal
pump model. For a flow with net head equal to or less than 30 metres, the software
chooses a pump model whose speed of rotation is 1450 rpm. Similarly for a net
head of greater than 30 but less than 120 metres pumps with a speed of rotation of
2900 rpm are chosen. An If statement is used to execute the loop. Based on the
head and the speed of rotation the specific speed(s) of the respective pumps is
determined. (See Code 15 in Attachment).
To determine suitable pumps to feed the four pipelines, arrays for the net head and
flow rate were created from Ajax Pump Specification Charts with their
corresponding elite pump models. Then computed values of the net head and the
flow rate are passed through the created two arrays. A difference function is used
to assist the program in selecting the approximate pump model using the values of
the flow rate and head the software had calculated. This is facilitated by creation of
a minimum difference array that stores the modular (absolute) values of the
difference between the heads and the flow rates being compared. The code loops
through the minimum difference array and calls the least difference value’s
position, it then calls and outputs the pump model at the least difference position.
(See Code 16 in Attachment).
Page | 33
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
CHAPTER 4
DISCUSSIONS, RECOMMENDATIONS & CONCLUSION
4.1.
Variables in the design
Crop water requirement - The dripper should be designed to discharge the amount of
water required by the plant without waste or deficit. This depends on type of crop, type of
soil, humidity control among others as outlined in the literature review.
Spacing between drippers and number of drippers - This depends on the type of crop, size
of the bed, crop development behaviour.
Total land under use - This determines the number of crops, layout, number and length of
distribution lines, the total amount of water required, number of green houses and valves,
size and number of beds.
Static head - The static head depends on site conditions between the suction and the
delivery reservoir, and the location of suction and discharge points.
Source of water - This can be rivers, springs, lakes, boreholes or reliable rain water
catchment. The nature of the source of water determines water treatment and other
chemical processes and its reliability, whether permanent or seasonal may determine
whether an intermediate reservoir is required.
Distance from source to delivery point – This determines the number of pumps to design
for and also the length of the pipeline to be used.
4.1.1. Assumptions
Guideline velocity - According to the Handbook of Piping Design [15], the design
velocities for pipelines delivering water with medium flows; to be applied during
the preliminary design is between 1 and 3 m/s. These velocities are chosen such
that pressure losses due to fluid friction in the pipeline are kept within acceptable
limits which ensure that pumping equipment size and costs are kept within certain
limits.
Internal roughness – A value of 0.1 was assumed for the internal roughness of the
pipe since our design is based on UPVC pipe material.
Pipe material – For all the pipelines that were designed for, the pipe material was
assumed to be UPVC.
Net head – The design assumed the maximum net head based on Ajax (Elite type)
pumps is 120 metres.
15
G.K. SAHU, Handbook of Piping Design, Reprint 2006
Page | 34
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
Selection of pumps – The model selected is based on the location of the least
difference in the minimum difference array.
4.1.2. Requirements the user needs to know / have
Survey of site conditions - This determines the length of the pipeline, the layout of
the design, the static head, the total land under use, nature of soil, climatic area
conditions.
Crop Water Requirements - The determination of CWR is outlined in the literature
review and an approximate method outlined.
Kenya Standard KS 149: PART 2: 2000 - The Kenya Standard KS 149: PART 2: 2000
pipeline specifications for UPV-C pipes with nominal diameters, internal diameters,
wall thickness and pressure classes.
Moody friction charts - The Moody friction chart is applicable in the determination
of the friction factor using the Reynolds number and the relative roughness of the
pipes, though this was approximated to 0.025.
Pump specification charts - The Ajax (Elite type) range of end suction pump
specification charts for 1450 and 2900 RPMs specific speeds, head, flow rate,
efficiency.
Determination of static head - A survey of the site from the water source to the
supply point should assist the user in the determination of the static head.
If the discharge pipe end is lower than the liquid surface of the suction tank then
the static head will be negative and the flow rate high. And if this negative static
head is large then it is possible that a pump is not required since the energy
provided by this difference in elevation may be sufficient to move the fluid through
the system without the use of a pump.
If the liquid surface of the suction tank is at the same elevation as the discharge end
of the pipe then the static head will be zero and the flow rate will be limited by the
friction in the system, and pump may be required.
Microsoft Windows - This software runs on Microsoft Windows Operating System
background from Windows XP up to Windows 7 only.
4.2.
Data collected
The archdiocesan farm in Limuru was our farm of choice for data collection. The total land
area in use for horticulture is about 4 hectares. The farm’s source of water is a permanent
spring within the farm, and its water is pure hence no treatment is required. Since they
have no major expenses in water sourcing, the farm does not have measures to control the
amount of water.
Page | 35
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
4.2.1. Data Collection Sheet
The table below gives the pumping system design data collected from Limuru
Archdiocesan Farm.
No.
Parameter
Values
3
1
Crop water requirement (dripper capacity) m /s
1.11328 x 10-3 m3/hr
2
Spacing between Drippers
0.195m
3
Number of drippers
188
4
Number of green houses
6
5
Size of each green house
(39.6 x 10) m2
6
Sample bed length
37.6m
7
Number of drip lines per distribution pipe
36
8
Number of distribution lines per sub-main pipe
2
9
Number of valves off main pipe
6
10
Nominal Diameter of the pipes
a. Source to Reservoir
136.7 mm
b. Main pipe from Reservoir
114.59 mm
c. Sub – main pipe
62.2 mm
d. Distribution pipe
32.5 mm
11
Length of the pipes
a. Source to Reservoir
600m
b. Main pipe from Reservoir
120m
c. Sub – main pipe
30m
d. Distribution pipe
9.35m
12
Static head
a. Source to Reservoir
55m
b. Main pipe from Reservoir
10m
c. Sub – main pipe
-5m
d. Distribution pipe
-2m
12
Soil type in the farm
Rich Volcanic Soil (Red
Loam)
Table 4.1: Table showing the pumping design sample data collected
4.2.2. Program computed values
Using the data collected above, our programme gave the following pumping system
design parameters;
Number
1
2
Parameter
Value
Nominal diameter of each pipe
a. Source to Reservoir
160 mm
b. Main pipe from Reservoir
140 mm
c. Sub – main pipe
63 mm
d. Distribution pipe
50 mm
Flow Rate in each pipe
Page | 36
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
3
a. Source to Reservoir
b. Main pipe from Reservoir
c. Sub – main pipe
d. Distribution pipe
Net Head in each pipe
a. Source to Reservoir
b. Main pipe from Reservoir
c. Sub – main pipe
d. Distribution pipe
4
181.44 m3/hr
90.72 m3/hr
15.12 m3/hr
7.56 m3/hr
105.496 m
14.8776 m
- 3.1187 m
- 1.6205 m
Pump model curve number
a. Source to Reservoir
2900 RPM, Elite E80 - 26
b. Main pipe from Reservoir
1450 RPM, Elite E32 – 26
c. Sub – main pipe
Flow by gravity
d. Distribution pipe
Flow by gravity
Table 4.2: Table showing the parameters designed by the software
4.3.
Recommendations
The programming language used has a lot of versatility and should be used to
incorporate even broader aspects of the design like cost analysis and other pump
models (from different manufacturers).
The software should be further developed by another group of final year students by
introducing memory locations for saving work, keeping a data base of work done
before and transfer the generated data to a work book sheet for printing.
From the analysis of the data given and field work carried out, design software's like
this one should be adapted into farms to help them audit their energy consumption
and reduce operating costs.
4.4.
Conclusion
The pumping system design software is based on the last two years projects done on three
different cut flowers farms. These projects’ data was analysed and the best layout design
was based on the Winchester Farm due to its consistency and practical determination of
the pump demand, Q. The program is designed to compute the preliminary sizes of the
required pipes, based on the flow rate through the pipes (the flow rate varies with the size
and diameter of the discharge pipe, the smaller the pipe, the less the flow) and applying a
guideline velocity, then selects the available pipe diameters from the Kenya Standard KS
149: PART 2: 2000 whose pipe material is UPV-C – Unplasticized polyvinyl chloride.
With the flow rate in the pipeline and the total head, the program subsequently chooses
the most appropriate pump from the Ajax Pump (Elite Type) data sheet for End Suction
Centrifugal Pumps. Once the user has the appropriate pumps from the program, the motor
should then be selected from the Ajax data sheets, according to the pump specific speeds
and impeller diameters.
Page | 37
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
The software developed has the ability to reduce the time and resources spent in
numerous and tedious calculations involved in pumping system design for horticultural /
floricultural farms.
The data obtained in this design assists in approximating the installation and operational
costs of the system.
4.4.1. Challenges
The main problem using previous year’s projects data was that we did not know
what they assumed, ignored, did not consider important or just did not notice.
And having to make a design based on someone else’s assumption and findings
was difficult for us since they did not give in detail the pump – piping layout for
the farms.
It was difficult to get access to farms due to the nature of data we were
interested in and most farms denied us access.
The other main challenge was measuring variables especially where there were
no installed gauges to measure discharge, no written records for pipe material,
for pipelines that are underground and pumps that have been repaired or parts
replaced hence altering the original specifications or name plate.
Page | 38
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
REFERENCES & BIBLIOGRAPHY
1. G.K. SAHU,
Handbook of Piping Design
New Age Publishers International, First Edition 1998
2. G.K. SAHU,
Pumps
New Age Publishers International, First Edition 2000
3. JAY MATLEY,
Fluid Movers: Pumps, Compressors, Fans and Blowers
McGraw Hill Publications, 1979
Page(s) 163 - 290
4. Kenya Bureau of Standards Pipe Material Standard
5. Ministry of Tourism, Trade and Industry Report on Horticulture on Commercial Farming for
October 2009
6. Market Intelligence, Horticultural Crops Development Authority ,2004
7. Horticultural Crops Development Authority, 2003
8. http://www.wordiq.com/definition/Horticulture: Copyright 2010 WordIQ.com
9. Economic Survey: Central Bureau of Statistics: www.mfa.gov , 2003
10. Snyder, R. L.; Melo-Abreu, J. P. (2005). "Frost protection: fundamentals, practice, and
economics – Volume 1". Food and Agriculture Organization of the United Nations.
11. http://www.engineeringtoolbox.edu as at April 2011
12. http://www.fao.org/docrep/u3160e, Pump classifications. Fao.org. Retrieved on 2011-03-25
13. http://www.engineeringpage.com/technology/pumps centrifugal pump sizing. Retrieved on
2010-12-08
14. Courtesy of Encyclopaedia Britannica, www.britannica.com ,2010 edition
15. Guide on buying of water pumps by Briggs and Stratton Corp., www.briggsandstraton.com,
2008 publication
16. The Microsoft Visual Basic 2008 Express Edition Resource Centre (Brothersoft)
http://www.img.brothersoft.com , 2010 web page
17. University of Liverpool, An Introduction to Visual Basic Programming Home Page,
http://flylib.com/books/
Lab 8 - CE 311 K – McKinney, www.ce.utexas.edu/prof/mckinney/ce311K/Lab/Lab6.pdf.
Page | 39
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
ATTACHMENTS
Latitude:
North
South
60°
55
50
45
40
35
30
25
20
15
10
5
0
Jan
July
.15
.17
.19
.20
.22
.23
.24
.24
.25
.26
.26
.27
.27
Feb
Aug
.20
.21
.23
.23
.24
.25
.25
.26
.26
.26
.27
.27
.27
Mar
Sept
.26
.26
.27
.27
.27
.27
.27
.27
.27
.27
.27
.27
.27
Apr
Oct
.32
.32
.31
.30
.30
.29
.29
.29
.28
.28
.28
.28
.27
May
Nov
.38
.36
.34
.34
.32
.31
.31
.30
.29
.29
.28
.28
.27
Jun
Dec
.41
.39
.36
.35
.34
.32
.32
.31
.30
.29
.29
.28
.27
July
Jan
.40
.38
.35
.34
.33
.32
.31
.31
.30
.29
.29
.28
.27
Aug
Feb
.34
.33
.32
.32
.31
.30
.30
.29
.29
.28
.28
.28
.27
Sept
Mar
.28
.28
.28
.28
.28
.28
.28
.28
.28
.28
.28
.28
.27
Oct
Apr
.22
.23
.24
.24
.25
.25
.26
.26
.26
.27
.27
.27
.27
Nov
May
.17
.18
.20
.21
.22
.23
.24
.25
.25
.26
.26
.27
.27
Dec
June
.13
.16
.18
.20
.21
.22
.23
.24
.25
.25
.26
.27
.27
Table 2.2a: Mean daily percentage (p) of annual daytime hours for different latitudes
Crop
Initial stage
Crop dev. stage
Mid-season stage
Late season stage
Barley/Oats/Wheat
Bean, green
0.35
0.35
0.75
0.70
1.15
1.10
0.45
0.90
Bean, dry
0.35
0.70
1.10
0.30
Cabbage/Carrot
0.45
0.75
1.05
0.90
Cotton/Flax
0.45
0.75
1.15
0.75
Cucumber/Squash
0.45
0.70
0.90
0.75
Eggplant/Tomato
0.45
0.75
1.15
0.80
Grain/small
Lentil/Pulses
Lettuce/Spinach
0.35
0.45
0.45
0.75
0.75
0.60
1.10
1.10
1.00
0.65
0.50
0.90
Maize, sweet
0.40
0.80
1.15
1.00
Maize, grain
0.40
0.80
1.15
0.70
Melon
0.45
0.75
1.00
0.75
Millet
Onion, green
0.35
0.50
0.70
0.70
1.10
1.00
0.65
1.00
Onion, dry
Peanut/Groundnut
Pea, fresh
0.50
0.45
0.45
0.75
0.75
0.80
1.05
1.05
1.15
0.85
0.70
1.05
Pepper, fresh
0.35
0.70
1.05
0.90
Potato
0.45
0.75
1.15
0.85
Radish
Sorghum
Soybean
0.45
0.35
0.35
0.60
0.75
0.75
0.90
1.10
1.10
0.90
0.65
0.60
Sugar beet
0.45
0.80
1.15
0.80
Sunflower
0.35
0.75
1.15
0.55
Tobacco
0.35
0.75
1.10
0.90
Table 2.3a: Values of crop factors Kc for various crops at different stages
Page | 40
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
Public Class Start_Page
Private Sub Key_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Key.TextChanged
Dim Password
Password = "20ETES-MAB11"
If Key.Text = Password Then
Greetings.Text = "Welcome to Pumping Design Software"
ElseIf Key.Text < Password Then
Greetings.Text = "Enter the LICENSE KEY"
End If
End Sub
Private Sub Designers_Name_TextChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Designers_Name.TextChanged
End Sub
Private Sub Orgs_Name_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Orgs_Name.TextChanged
End Sub
Private Sub Cell_No_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Cell_No.TextChanged
End Sub
Private Sub Mail_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Mail.TextChanged
End Sub
Private Sub Client_Name_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Client_Name.TextChanged
End Sub
Private Sub I_Agree_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles I_Agree.Click
If Greetings.Text = "Enter the LICENSE KEY" Then
MessageBox.Show("You've entered incorrect LICENSE KEY, the software
will close down immediately")
Me.Close()
Else
Flowrate_Calculator.Show()
Me.WindowState = FormWindowState.Minimized
End If
End Sub
Private Sub Not_Agree_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Not_Agree.Click
Me.Close()
End Sub
End Class
VB Code 1A
Public Class Flowrate_Calculator
Private Sub Drippercapacity_TextChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles DripperCapacity.TextChanged
Designers_name.Text = Start_Page.Designers_Name.Text
Clients_name.Text = Start_Page.Client_Name.Text
End Sub
Private Sub Dripperspacing_TextChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Dripperspacing.TextChanged
End Sub
Private Sub Bedlength_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Bedlength.TextChanged
Dim chkBedlength As Double
chkBedlength = Bedlength.Text
If chkBedlength < 0 Or chkBedlength = 0 Then
MessageBox.Show("ERROR - The bedlength has to be greater than
zero.Pumping Design Software will now close down")
Me.Close()
Else
End If
Drippers.Text = Val(Bedlength.Text) / Val(Dripperspacing.Text)
Dim Rndoff = Convert.ToDouble(Drippers.Text)
Page | 41
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
Rndoff = Math.Round(Rndoff, 0)
Drippers.Text = Rndoff.ToString
End Sub
VB Code 1
Private Sub Driplines_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Driplines.TextChanged
Distri_flowrate.Text = Val(Driplines.Text) * Drippers.Text *
DripperCapacity.Text / (3600)
Dim Rndoff = Convert.ToDouble(Distri_flowrate.Text)
Rndoff = Math.Round(Rndoff, 4)
Distri_flowrate.Text = Rndoff.ToString
End Sub
VB Code 2
Private Sub Distrilines_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Distrilines.TextChanged
Sub_flowrate.Text = Val(Distrilines.Text) * Distri_flowrate.Text
Dim Rndoff = Convert.ToDouble(Sub_flowrate.Text)
Rndoff = Math.Round(Rndoff, 4)
Sub_flowrate.Text = Rndoff.ToString
End Sub
VB Code 3
Private Sub Valves_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Valves.TextChanged
Main_flowrate.Text = Val(Valves.Text) * Sub_flowrate.Text
Dim Rndoff = Convert.ToDouble(Main_flowrate.Text)
Rndoff = Math.Round(Rndoff, 4)
Main_flowrate.Text = Rndoff.ToString
Reservoir_flowrate.Text = (2 * Main_flowrate.Text)
End Sub
VB Code 4
Private Sub Next_Page_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Next_Page.Click
Diameter_Designer.Show()
Me.WindowState = FormWindowState.Minimized
End Sub
Private Sub Previous_Page_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Previous_Page.Click
Start_Page.WindowState = FormWindowState.Normal
Me.WindowState = FormWindowState.Minimized
End Sub
End Class
VB Code 5
Public Class Diameter_Designer
Private Sub Page_2_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
FromChildHandle(Flowrate_Calculator.Distri_flowrate.Text)
PreDistri_IntDia.Text = (((4 * Flowrate_Calculator.Distri_flowrate.Text)
/ (3.141592 * 1.6)) ^ (1 / 2)) * 1000
Dim Rndoff = Convert.ToDouble(PreDistri_IntDia.Text)
Rndoff = Math.Round(Rndoff, 4)
PreDistri_IntDia.Text = Rndoff.ToString
FromChildHandle(Flowrate_Calculator.Sub_flowrate.Text)
PreSub_IntDia.Text = (((4 * Flowrate_Calculator.Sub_flowrate.Text) /
(3.141592 * 1.8)) ^ (1 / 2)) * 1000
Dim Rndoff1 = Convert.ToDouble(PreSub_IntDia.Text)
Rndoff1 = Math.Round(Rndoff1, 4)
PreSub_IntDia.Text = Rndoff1.ToString
FromChildHandle(Flowrate_Calculator.Main_flowrate.Text)
PreMain_IntDia.Text = (((4 * Flowrate_Calculator.Main_flowrate.Text) /
(3.141592 * 2)) ^ (1 / 2)) * 1000
Dim Rndoff2 = Convert.ToDouble(PreMain_IntDia.Text)
Rndoff2 = Math.Round(Rndoff2, 4)
PreMain_IntDia.Text = Rndoff2.ToString
Page | 42
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
FromChildHandle(Flowrate_Calculator.Reservoir_flowrate.Text)
PreReservoir_IntDia.Text = (((4 *
Flowrate_Calculator.Reservoir_flowrate.Text) / (3.141592 * 3)) ^ (1 / 2)) * 1000
Dim Rndoff3 = Convert.ToDouble(PreReservoir_IntDia.Text)
Rndoff3 = Math.Round(Rndoff3, 4)
PreReservoir_IntDia.Text = Rndoff3.ToString
VB Code 6
Dim KS_Dia_ClssB() As Double
Dim Max_Thcknes_ClssB() As Double
KS_Dia_ClssB = New Double() {25, 32, 40, 50, 63, 75, 90, 110, 125, 140,
160, 180, 200, 225, 250, 280, 315, 355, 400, 450, 500, 560, 630}
Max_Thcknes_ClssB = New Double() {1.3, 1.3, 1.5, 1.6, 2.1, 2.4, 2.8,
3.4, 3.8, 4.3, 4.8, 4.9, 5.5, 6.1, 6.8, 7.6, 8.5, 9.6, 10.7, 12, 13.3, 14.8,
16.7}
Dim chkDistri_Dia As Double
chkDistri_Dia = PreDistri_IntDia.Text
For i As Integer = 0 To 22
If (KS_Dia_ClssB(i) >= chkDistri_Dia) Then
Distri_IntDia.Text = (KS_Dia_ClssB(i) - (2 *
Max_Thcknes_ClssB(i))).ToString
NomDia_Distri.Text = KS_Dia_ClssB(i)
i = 22
Else
Distri_IntDia.Text = "Diameter not in KS 149 Standard"
End If
Next
If (chkDistri_Dia < 25) Then
Distri_IntDia.Text = "Diameter not in KS 149 Standard"
End If
Distri_Flowvelocity.Text = ((4 *
Flowrate_Calculator.Distri_flowrate.Text) / (3.14159 * (Distri_IntDia.Text /
1000) ^ (2)))
Dim Rndoff4 = Convert.ToDouble(Distri_Flowvelocity.Text)
Rndoff4 = Math.Round(Rndoff4, 3)
Distri_Flowvelocity.Text = Rndoff4.ToString
Distri_Reynolds.Text = (Distri_Flowvelocity.Text * (Distri_IntDia.Text /
1000)) / (10 ^ (-6))
Dim KS_Dia_ClssC() As Double
Dim Max_Thcknes_ClssC() As Double
KS_Dia_ClssC = New Double() {16, 20, 25, 32, 40, 50, 63, 75, 90, 110,
125, 140, 160, 180, 200, 225, 250, 280, 315, 355, 400, 450, 500, 560, 630}
Max_Thcknes_ClssC = New Double() {1.3, 1.3, 1.5, 1.7, 2.1, 2.6, 3.2,
3.8, 4.5, 5.5, 6.1, 6.8, 7.9, 8.1, 8.8, 9.9, 11, 12.2, 13.7, 15.5, 17.4, 19.6,
21.7, 24.3, 27.3}
Dim chkSub_Dia As Double
chkSub_Dia = PreSub_IntDia.Text
For i As Integer = 0 To 24
If (KS_Dia_ClssC(i) >= chkSub_Dia) Then
Sub_IntDia.Text = (KS_Dia_ClssC(i) - (2 *
Max_Thcknes_ClssC(i))).ToString
NomDia_Sub.Text = KS_Dia_ClssC(i)
i = 24
Else
Sub_IntDia.Text = "Diameter not in KS 149 Standard"
End If
Next
If (chkSub_Dia < 16) Then
Sub_IntDia.Text = "Diameter not in KS 149 Standard"
End If
Sub_Flowvelocity.Text = ((4 * Flowrate_Calculator.Sub_flowrate.Text) /
(3.14159 * (Sub_IntDia.Text / 1000) ^ (2)))
Dim Rndoff5 = Convert.ToDouble(Sub_Flowvelocity.Text)
Rndoff5 = Math.Round(Rndoff5, 3)
Sub_Flowvelocity.Text = Rndoff5.ToString
Page | 43
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
Sub_Reynolds.Text = (Sub_Flowvelocity.Text * (Sub_IntDia.Text / 1000)) /
(10 ^ (-6))
Dim KS_Dia_ClssC1() As Double
Dim Max_Thcknes_ClssC1() As Double
KS_Dia_ClssC1 = New Double() {16, 20, 25, 32, 40, 50, 63, 75, 90, 110,
125, 140, 160, 180, 200, 225, 250, 280, 315, 355, 400, 450, 500, 560, 630}
Max_Thcknes_ClssC1 = New Double() {1.3, 1.3, 1.5, 1.7, 2.1, 2.6, 3.2,
3.8, 4.5, 5.5, 6.1, 6.8, 7.9, 8.1, 8.8, 9.9, 11, 12.2, 13.7, 15.5, 17.4, 19.6,
21.7, 24.3, 27.3}
Dim chkMain_Dia As Double
chkMain_Dia = PreMain_IntDia.Text
For i As Integer = 0 To 24
If (KS_Dia_ClssC1(i) >= chkMain_Dia) Then
Main_IntDia.Text = (KS_Dia_ClssC1(i) - (2 *
Max_Thcknes_ClssC1(i))).ToString
NomDia_Main.Text = KS_Dia_ClssC1(i)
i = 24
Else
Main_IntDia.Text = "Diameter not in KS 149 Standard"
End If
Next
If (chkMain_Dia < 25) Then
Main_IntDia.Text = "Diameter not in KS 149 Standard"
End If
Main_Flowvelocity.Text = ((4 * Flowrate_Calculator.Main_flowrate.Text) /
(3.14159 * (Main_IntDia.Text / 1000) ^ (2)))
Dim Rndoff6 = Convert.ToDouble(Main_Flowvelocity.Text)
Rndoff6 = Math.Round(Rndoff6, 3)
Main_Flowvelocity.Text = Rndoff6.ToString
Main_Reynolds.Text = (Main_Flowvelocity.Text * (Main_IntDia.Text /
1000)) / (10 ^ (-6))
Dim KS_Dia_ClssC2() As Double
Dim Max_Thcknes_ClssC2() As Double
KS_Dia_ClssC2 = New Double() {16, 20, 25, 32, 40, 50, 63, 75, 90, 110,
125, 140, 160, 180, 200, 225, 250, 280, 315, 355, 400, 450, 500, 560, 630}
Max_Thcknes_ClssC2 = New Double() {1.3, 1.3, 1.5, 1.7, 2.1, 2.6, 3.2,
3.8, 4.5, 5.5, 6.1, 6.8, 7.9, 8.1, 8.8, 9.9, 11, 12.2, 13.7, 15.5, 17.4, 19.6,
21.7, 24.3, 27.3}
Dim chkReservoir_Dia As Double
chkReservoir_Dia = PreReservoir_IntDia.Text
For i As Integer = 0 To 24
If (KS_Dia_ClssC2(i) >= chkReservoir_Dia) Then
Reservoir_IntDia.Text = (KS_Dia_ClssC2(i) - (2 *
Max_Thcknes_ClssC2(i))).ToString
NomDia_Reservoir.Text = KS_Dia_ClssC2(i)
i = 24
Else
Reservoir_IntDia.Text = "Diameter not in KS 149 Standard"
End If
Next
If (chkMain_Dia < 25) Then
Reservoir_IntDia.Text = "Diameter not in KS 149 Standard"
End If
Reservoir_Flowvelocity.Text = ((4 *
Flowrate_Calculator.Reservoir_flowrate.Text) / (3.14159 * (Reservoir_IntDia.Text
/ 1000) ^ (2)))
Dim Rndoff7 = Convert.ToDouble(Reservoir_Flowvelocity.Text)
Rndoff7 = Math.Round(Rndoff7, 3)
Reservoir_Flowvelocity.Text = Rndoff7.ToString
Reservoir_Reynolds.Text = (Reservoir_Flowvelocity.Text *
(Reservoir_IntDia.Text / 1000)) / (10 ^ (-6))
End Sub
VB Code 7
Page | 44
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
Private Sub Next_Page_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Next_Page.Click
Net_Head_Calculator.Show()
Me.WindowState = FormWindowState.Minimized
End Sub
VB Code 8
Private Sub Previous_Page_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Previous_Page.Click
Flowrate_Calculator.WindowState = FormWindowState.Normal
Me.Close()
End Sub
End Class
VB Code 9
Public Class Net_Head_Calculator
Private Sub Page3_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
FromChildHandle(Diameter_Designer.Distri_Flowvelocity.Text)
FromChildHandle(Diameter_Designer.Sub_Flowvelocity.Text)
FromChildHandle(Diameter_Designer.Main_Flowvelocity.Text)
FromChildHandle(Diameter_Designer.Reservoir_Flowvelocity.Text)
FromChildHandle(Diameter_Designer.Distri_IntDia.Text)
FromChildHandle(Diameter_Designer.Sub_IntDia.Text)
FromChildHandle(Diameter_Designer.Main_IntDia.Text)
FromChildHandle(Diameter_Designer.Reservoir_IntDia.Text)
VB Code 10
Distri_Roughness.Text = (0.1) / (Diameter_Designer.Distri_IntDia.Text)
Dim Rndoff = Convert.ToDouble(Distri_Roughness.Text)
Rndoff = Math.Round(Rndoff, 4)
Distri_Roughness.Text = Rndoff.ToString
Sub_Roughness.Text = (0.1) / (Diameter_Designer.Sub_IntDia.Text)
Dim Rndoff1 = Convert.ToDouble(Sub_Roughness.Text)
Rndoff1 = Math.Round(Rndoff1, 4)
Sub_Roughness.Text = Rndoff1.ToString
Main_Roughness.Text = (0.1) / (Diameter_Designer.Main_IntDia.Text)
Dim Rndoff2 = Convert.ToDouble(Main_Roughness.Text)
Rndoff2 = Math.Round(Rndoff2, 4)
Main_Roughness.Text = Rndoff2.ToString
Reservoir_Roughness.Text = (0.1) /
(Diameter_Designer.Reservoir_IntDia.Text)
Dim Rndoff2a = Convert.ToDouble(Reservoir_Roughness.Text)
Rndoff2a = Math.Round(Rndoff2a, 4)
Reservoir_Roughness.Text = Rndoff2a.ToString
End Sub
VB Code 11
Private Sub Distri_Frifactor_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Distri_Frifactor.TextChanged
End Sub
Private Sub Distri_Pipelength_TextChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Distri_Pipelength.TextChanged
Dtotal_Frihead.Text = (Val(Distri_Frifactor.Text) *
Val(Distri_Pipelength.Text) * ((Diameter_Designer.Distri_Flowvelocity.Text) ^
(2))) / ((Diameter_Designer.Distri_IntDia.Text / 1000) * 9.81 * 2)
Dim Rndoff3 = Convert.ToDouble(Dtotal_Frihead.Text)
Rndoff3 = Math.Round(Rndoff3, 4)
Dtotal_Frihead.Text = Rndoff3.ToString
End Sub
Private Sub Distri_Statichead_TextChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Distri_Statichead.TextChanged
If Val(Distri_Statichead.Text) = 0 And Val(Distri_Statichead.Text) > 0
Then
Distri_Nethead.Text = (Val(Distri_Statichead.Text)) +
(Dtotal_Frihead.Text)
Else
Page | 45
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
Distri_Nethead.Text = (Val(Distri_Statichead.Text)) +
(Dtotal_Frihead.Text)
End If
End Sub
Private Sub Sub_Frifactor_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Sub_Frifactor.TextChanged
End Sub
Private Sub Sub_Pipelength_TextChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Sub_Pipelength.TextChanged
Stotal_Frihead.Text = (Val(Sub_Frifactor.Text) *
Val(Sub_Pipelength.Text) * (Diameter_Designer.Sub_Flowvelocity.Text) ^ (2)) /
((Diameter_Designer.Sub_IntDia.Text / 1000) * 9.81 * 2)
Dim Rndoff4 = Convert.ToDouble(Stotal_Frihead.Text)
Rndoff4 = Math.Round(Rndoff4, 4)
Stotal_Frihead.Text = Rndoff4.ToString
End Sub
Private Sub Sub_Statichead_TextChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Sub_Statichead.TextChanged
If Val(Sub_Statichead.Text) = 0 And Val(Sub_Statichead.Text) > 0 Then
Sub_Nethead.Text = Val(Sub_Statichead.Text) + (Stotal_Frihead.Text)
Else
Sub_Nethead.Text = Val(Sub_Statichead.Text) + (Stotal_Frihead.Text)
End If
End Sub
Private Sub Main_Frifactor_TextChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Main_Frifactor.TextChanged
End Sub
Private Sub Main_Pipelength_TextChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Main_Pipelength.TextChanged
Mtotal_Frihead.Text = (Val(Main_Frifactor.Text) *
Val(Main_Pipelength.Text) * (Diameter_Designer.Main_Flowvelocity.Text) ^ (2)) /
((Diameter_Designer.Main_IntDia.Text / 1000) * 9.81 * 2)
Dim Rndoff4 = Convert.ToDouble(Mtotal_Frihead.Text)
Rndoff4 = Math.Round(Rndoff4, 4)
Mtotal_Frihead.Text = Rndoff4.ToString
End Sub
Private Sub Main_Statichead_TextChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Main_Statichead.TextChanged
If Val(Main_Statichead.Text) = 0 And Val(Main_Statichead.Text) > 0 Then
Main_Nethead.Text = Val(Main_Statichead.Text) +
(Mtotal_Frihead.Text)
Else
Main_Nethead.Text = Val(Main_Statichead.Text) +
(Mtotal_Frihead.Text)
End If
End Sub
Private Sub Reservoir_Frifactor_TextChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Reservoir_Frifactor.TextChanged
End Sub
Private Sub Reservoir_Pipelength_TextChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Reservoir_Pipelength.TextChanged
Rtotal_Frihead.Text = (Val(Reservoir_Frifactor.Text) *
Val(Reservoir_Pipelength.Text) *
((Diameter_Designer.Reservoir_Flowvelocity.Text) ^ (2))) /
((Diameter_Designer.Reservoir_IntDia.Text / 1000) * 9.81 * 2)
Dim Rndoff5 = Convert.ToDouble(Rtotal_Frihead.Text)
Rndoff5 = Math.Round(Rndoff5, 4)
Rtotal_Frihead.Text = Rndoff5.ToString
End Sub
Private Sub Reservoir_Statichead_TextChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Reservoir_Statichead.TextChanged
If Val(Distri_Statichead.Text) < 0 And Val(Sub_Statichead.Text) < 0 And
Val(Main_Statichead.Text) < 0 Then
Page | 46
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
Reservoir_Nethead.Text = Val(Reservoir_Statichead.Text) +
(Rtotal_Frihead.Text) + (Distri_Nethead.Text) + (Sub_Nethead.Text) +
(Main_Nethead.Text)
Else
Reservoir_Nethead.Text = Val(Reservoir_Statichead.Text) +
(Rtotal_Frihead.Text)
End If
End Sub
VB Code 12
Private Sub Next_Page_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Next_Page.Click
Pump_Design.Show()
Me.WindowState = FormWindowState.Minimized
End Sub
VB Code 13
Private Sub Previous_Page_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Previous_Page.Click
Diameter_Designer.WindowState = FormWindowState.Normal
Me.Close()
End Sub
End Class
VB Code 14
Public Class Pump_Design
Private Sub Page4_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Designers_name.Text = Start_Page.Designers_Name.Text
Orgs_name.Text = Start_Page.Orgs_Name.Text
Label6.Text = Start_Page.Client_Name.Text
FromChildHandle(Flowrate_Calculator.Distri_flowrate.Text)
FromChildHandle(Flowrate_Calculator.Sub_flowrate.Text)
FromChildHandle(Flowrate_Calculator.Main_flowrate.Text)
FromChildHandle(Flowrate_Calculator.Reservoir_flowrate.Text)
FromChildHandle(Net_Head_Calculator.Distri_Nethead.Text)
FromChildHandle(Net_Head_Calculator.Sub_Nethead.Text)
FromChildHandle(Net_Head_Calculator.Main_Nethead.Text)
FromChildHandle(Net_Head_Calculator.Reservoir_Nethead.Text)
FromChildHandle(Net_Head_Calculator.Distri_Statichead.Text)
FromChildHandle(Net_Head_Calculator.Sub_Statichead.Text)
FromChildHandle(Net_Head_Calculator.Main_Statichead.Text)
Dim Head As Double
Head = Net_Head_Calculator.Distri_Nethead.Text
If Net_Head_Calculator.Distri_Statichead.Text < 0 Then
Distri_Specificspeed.Text = " "
ElseIf Head < 30 Then
Distri_Specificspeed.Text = ((1450 / 60) *
(Flowrate_Calculator.Distri_flowrate.Text ^ (1 / 2))) /
(Net_Head_Calculator.Distri_Nethead.Text ^ (3 / 4))
Dim Rndoff = Convert.ToDouble(Distri_Specificspeed.Text)
Rndoff = Math.Round(Rndoff, 3)
Distri_Specificspeed.Text = Rndoff.ToString
ElseIf Head < 120 Then
Distri_Specificspeed.Text = ((2900 / 60) *
(Flowrate_Calculator.Distri_flowrate.Text ^ (1 / 2))) /
(Net_Head_Calculator.Distri_Nethead.Text ^ (3 / 4))
Dim Rndoff1 = Convert.ToDouble(Distri_Specificspeed.Text)
Rndoff1 = Math.Round(Rndoff1, 3)
Distri_Specificspeed.Text = Rndoff1.ToString
Else
MessageBox.Show(" Error - Head otained in the distribution pipe is
beyond the design specifications of the software ")
End If
Dim Head1 As Double
Head1 = Net_Head_Calculator.Sub_Nethead.Text
Page | 47
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
If Net_Head_Calculator.Sub_Statichead.Text < 0 Then
Sub_Specificspeed.Text = " "
ElseIf Head1 < 30 Then
Sub_Specificspeed.Text = ((1450 / 60) *
(Flowrate_Calculator.Sub_flowrate.Text ^ (1 / 2))) /
(Net_Head_Calculator.Sub_Nethead.Text ^ (3 / 4))
Dim Rndoff2 = Convert.ToDouble(Sub_Specificspeed.Text)
Rndoff2 = Math.Round(Rndoff2, 3)
Sub_Specificspeed.Text = Rndoff2.ToString
ElseIf Head1 < 120 Then
Sub_Specificspeed.Text = ((2900 / 60) *
(Flowrate_Calculator.Sub_flowrate.Text ^ (1 / 2))) /
(Net_Head_Calculator.Sub_Nethead.Text ^ (3 / 4))
Dim Rndoff3 = Convert.ToDouble(Sub_Specificspeed.Text)
Rndoff3 = Math.Round(Rndoff3, 3)
Sub_Specificspeed.Text = Rndoff3.ToString
Else
MessageBox.Show(" Error - Head otained in the sub main pipe is
beyond the design specifications of the software ")
End If
Dim Head1a As Double
Head1a = Net_Head_Calculator.Main_Nethead.Text
If Net_Head_Calculator.Main_Statichead.Text < 0 Then
Main_Specificspeed.Text = " "
ElseIf Head1a < 30 Then
Main_Specificspeed.Text = ((1450 / 60) *
(Flowrate_Calculator.Main_flowrate.Text ^ (1 / 2))) /
(Net_Head_Calculator.Main_Nethead.Text ^ (3 / 4))
Dim Rndoff2a = Convert.ToDouble(Main_Specificspeed.Text)
Rndoff2a = Math.Round(Rndoff2a, 3)
Main_Specificspeed.Text = Rndoff2a.ToString
ElseIf Head1a < 120 Then
Main_Specificspeed.Text = ((2900 / 60) *
(Flowrate_Calculator.Main_flowrate.Text ^ (1 / 2))) /
(Net_Head_Calculator.Main_Nethead.Text ^ (3 / 4))
Dim Rndoff3a = Convert.ToDouble(Main_Specificspeed.Text)
Rndoff3a = Math.Round(Rndoff3a, 3)
Main_Specificspeed.Text = Rndoff3a.ToString
Else
MessageBox.Show(" Error - Head otained in the main pipe is beyond
the design specifications of the software ")
End If
Dim Head2 As Double
Head2 = Net_Head_Calculator.Reservoir_Nethead.Text
If Head2 < 30 Then
Reservoir_Specificspeed.Text = ((1450 / 60) *
(Flowrate_Calculator.Reservoir_flowrate.Text ^ (1 / 2))) /
(Net_Head_Calculator.Reservoir_Nethead.Text ^ (3 / 4))
Dim Rndoff4 = Convert.ToDouble(Reservoir_Specificspeed.Text)
Rndoff4 = Math.Round(Rndoff4, 3)
Reservoir_Specificspeed.Text = Rndoff4.ToString
ElseIf Head2 < 120 Then
Reservoir_Specificspeed.Text = ((2900 / 60) *
(Flowrate_Calculator.Reservoir_flowrate.Text ^ (1 / 2))) /
(Net_Head_Calculator.Reservoir_Nethead.Text ^ (3 / 4))
Dim Rndoff5 = Convert.ToDouble(Reservoir_Specificspeed.Text)
Rndoff5 = Math.Round(Rndoff5, 3)
Reservoir_Specificspeed.Text = Rndoff5.ToString
Else
MessageBox.Show(" Error - Head otained in the main pipe delivering
to the reservoir is beyond the design specifications of the software ")
End If
VB Code 15
Page | 48
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
Dim P1450() As String
Dim P2900() As String
Dim Head3() As Double
Dim Flow() As Double
Dim diff() As Double
Dim diffMin As Double
Dim loc As Integer
Dim chkHead As Double
Dim chkFlow As Double
chkHead = Net_Head_Calculator.Distri_Nethead.Text
chkFlow = (Flowrate_Calculator.Distri_flowrate.Text * 3600)
P1450 = New String() {"E32-26", "E32-26", "E32-26", "E32-26", "E32-26",
"E32-26", "E65-26", "E65-26", "E65-26", "E65-26", "E65-26", "E65-26", "E65-26",
"E100-26", "E100-26", "E100-26", "E100-26", "E100-26", "E100-26", "E100-26",
"E40-20", "E40-20", "E40-20", "E40-20", "E40-20", "E40-20", "E50-20", "E50-20",
"E50-20", "E50-20", "E50-20", "E50-20", "E100-20", "E100-20", "E100-20", "E10020", "E100-20", "E100-20", "E32-16", "E32-16", "E32-16", "E32-16", "E32-16",
"E32-16", "E32-16", "E32-16", "E50-16", "E50-16", "E50-16", "E50-16", "E50-16",
"E50-16"}
Head3 = New Double() {25, 26, 25, 24, 20, 18, 25, 24, 23, 22, 20, 17,
15, 25, 24, 23, 22, 20, 18, 16, 17, 17, 16, 15, 1, 10, 17, 16, 15, 14, 13, 12,
17, 16, 15, 13, 12, 11, 10, 10, 10, 10, 9, 9, 8, 6, 12, 12, 11, 10, 10, 9}
Flow = New Double() {2, 4, 6, 10, 18, 19, 35, 40, 60, 70, 80, 90, 100,
80, 100, 130, 150, 190, 200, 220, 4, 6, 10, 18, 20, 25, 13, 20, 26, 30, 35, 40,
60, 80, 100, 120, 150, 190, 2, 3, 4, 6, 7, 9, 10, 12, 11, 15, 20, 25, 30, 40}
diff = New Double() {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0}
If Net_Head_Calculator.Distri_Statichead.Text < 0 Then
DistriPump_Model.Text = " Gravity energy enough to facilitate flow "
ElseIf chkHead < 30 Then
For i As Integer = 0 To 51
diff(i) = Math.Abs(Head3(i) - chkHead) + Math.Abs(Flow(i) chkFlow)
Next
diffMin = diff(0)
For i As Integer = 0 To 51
If diff(i) < diffMin Then
diffMin = diff(i)
loc = i
End If
Next
DistriPump_Model.Text = P1450(loc).ToString
ElseIf chkHead > 30 And chkHead < 120 Then
P2900 = New String() {"AE32-26", "AE32-26", "AE32-26", "AE32-26",
"AE32-26", "AE32-26", "AE32-26", "AE50-26", "AE50-26", "AE50-26", "AE50-26",
"AE50-26", "AE50-26", "AE50-26", "AE50-26", "AE50-26", "AE80-26", "AE80-26",
"AE80-26", "AE80-26", "AE80-26", "AE80-26", "AE80-26", "AE80-26", "AE80-26",
"AE80-26", "AE32-20", "AE32-20", "AE32-20", "AE32-20", "AE32-20", "AE50-20",
"AE50-20", "AE50-20", "AE50-20", "AE50-20", "AE50-20", "AE50-20", "AE50-20",
"AE80-20", "AE80-20", "AE80-20", "AE80-20", "AE80-20", "AE80-20", "AE80-20",
"AE80-20", "AE32-16", "AE32-16", "AE32-16", "AE32-16", "AE32-16", "AE32-16",
"AE50-16", "AE50-16", "AE50-16", "AE50-16", "AE50-16", "AE50-16", "AE50-16",
"AE40-16", "AE40-16", "AE40-16", "AE40-16", "AE40-16", "AE40-16", "AE40-16",
"AE40-16"}
Head3 = New Double() {102, 100, 95, 92, 90, 85, 80, 105, 102, 100,
98, 90, 85, 80, 70, 65, 100, 100, 95, 90, 85, 80, 75, 70, 65, 65, 62, 60, 55,
50, 65, 63, 61, 60, 59, 55, 50, 45, 65, 65, 63, 61, 60, 55, 50, 45, 40, 40, 35,
30, 25, 23, 45, 43, 41, 40, 38, 35, 32, 42, 41, 40, 40, 38, 35, 30, 25}
Flow = New Double() {10, 15, 20, 23, 25, 30, 32, 35, 40, 45, 50, 60,
70, 80, 85, 90, 90, 100, 120, 140, 180, 200, 220, 240, 260, 10, 15, 20, 24, 27,
25, 30, 40, 45, 50, 60, 70, 80, 70, 80, 80, 100, 120, 160, 200, 250, 10, 15, 20,
22, 25, 27, 25, 30, 40, 50, 60, 70, 80, 12, 15, 20, 25, 30, 35, 40, 45}
Page | 49
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
diff = New Double() {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
For i As Integer = 0 To 66
diff(i) = Math.Abs(Head3(i) - chkHead) + Math.Abs(Flow(i) chkFlow)
Next
diffMin = diff(0)
For i As Integer = 0 To 66
If diff(i) < diffMin Then
diffMin = diff(i)
loc = i
End If
Next
DistriPump_Model.Text = P2900(loc).ToString
Else
MessageBox.Show("Error - Net head and flowrate obtained in the
distribution pipe exceeds the pump design software database")
End If
Dim P14501() As String
Dim P29001() As String
Dim Head4() As Double
Dim Flow1() As Double
Dim diff1() As Double
Dim diffMin1 As Double
Dim loc1 As Integer
Dim chkHead1 As Double
Dim chkFlow1 As Double
chkHead1 = Net_Head_Calculator.Sub_Nethead.Text
chkFlow1 = (Flowrate_Calculator.Sub_flowrate.Text * 3600)
P14501 = New String() {"E32-26", "E32-26", "E32-26", "E32-26", "E32-26",
"E32-26", "E65-26", "E65-26", "E65-26", "E65-26", "E65-26", "E65-26", "E65-26",
"E100-26", "E100-26", "E100-26", "E100-26", "E100-26", "E100-26", "E100-26",
"E40-20", "E40-20", "E40-20", "E40-20", "E40-20", "E40-20", "E50-20", "E50-20",
"E50-20", "E50-20", "E50-20", "E50-20", "E100-20", "E100-20", "E100-20", "E10020", "E100-20", "E100-20", "E32-16", "E32-16", "E32-16", "E32-16", "E32-16",
"E32-16", "E32-16", "E32-16", "E50-16", "E50-16", "E50-16", "E50-16", "E50-16",
"E50-16"}
Head4 = New Double() {25, 26, 25, 24, 20, 18, 25, 24, 23, 22, 20, 17,
15, 25, 24, 23, 22, 20, 18, 16, 17, 17, 16, 15, 1, 10, 17, 16, 15, 14, 13, 12,
17, 16, 15, 13, 12, 11, 10, 10, 10, 10, 9, 9, 8, 6, 12, 12, 11, 10, 10, 9}
Flow1 = New Double() {2, 4, 6, 10, 18, 19, 35, 40, 60, 70, 80, 90, 100,
80, 100, 130, 150, 190, 200, 220, 4, 6, 10, 18, 20, 25, 13, 20, 26, 30, 35, 40,
60, 80, 100, 120, 150, 190, 2, 3, 4, 6, 7, 9, 10, 12, 11, 15, 20, 25, 30, 40}
diff1 = New Double() {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0}
If Net_Head_Calculator.Sub_Statichead.Text < 0 Then
SubPump_Model.Text = " Gravity energy enough to facilitate flow "
ElseIf chkHead1 < 30 Then
For j As Integer = 0 To 51
diff1(j) = Math.Abs(Head4(j) - chkHead1) + Math.Abs(Flow1(j) chkFlow1)
Next
diffMin1 = diff1(0)
For j As Integer = 0 To 51
If diff1(j) < diffMin1 Then
diffMin1 = diff1(j)
loc1 = j
End If
Next
SubPump_Model.Text = P14501(loc1).ToString
ElseIf chkHead1 > 30 And chkHead1 < 120 Then
Page | 50
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
"AE32-26",
"AE50-26",
"AE80-26",
"AE80-26",
"AE50-20",
"AE80-20",
"AE80-20",
"AE50-16",
"AE40-16",
"AE40-16"}
P29001 = New String() {"AE32-26", "AE32-26", "AE32-26", "AE32-26",
"AE32-26", "AE32-26", "AE50-26", "AE50-26", "AE50-26", "AE50-26",
"AE50-26", "AE50-26", "AE50-26", "AE50-26", "AE80-26", "AE80-26",
"AE80-26", "AE80-26", "AE80-26", "AE80-26", "AE80-26", "AE80-26",
"AE32-20", "AE32-20", "AE32-20", "AE32-20", "AE32-20", "AE50-20",
"AE50-20", "AE50-20", "AE50-20", "AE50-20", "AE50-20", "AE50-20",
"AE80-20", "AE80-20", "AE80-20", "AE80-20", "AE80-20", "AE80-20",
"AE32-16", "AE32-16", "AE32-16", "AE32-16", "AE32-16", "AE32-16",
"AE50-16", "AE50-16", "AE50-16", "AE50-16", "AE50-16", "AE50-16",
"AE40-16", "AE40-16", "AE40-16", "AE40-16", "AE40-16", "AE40-16",
Head4 = New Double() {102, 100, 95, 92, 90, 85, 80, 105, 102, 100,
98, 90, 85, 80, 70, 65, 100, 100, 95, 90, 85, 80, 75, 70, 65, 65, 62, 60, 55,
50, 65, 63, 61, 60, 59, 55, 50, 45, 65, 65, 63, 61, 60, 55, 50, 45, 40, 40, 35,
30, 25, 23, 45, 43, 41, 40, 38, 35, 32, 42, 41, 40, 40, 38, 35, 30, 25}
Flow1 = New Double() {10, 15, 20, 23, 25, 30, 32, 35, 40, 45, 50,
60, 70, 80, 85, 90, 90, 100, 120, 140, 180, 200, 220, 240, 260, 10, 15, 20, 24,
27, 25, 30, 40, 45, 50, 60, 70, 80, 70, 80, 80, 100, 120, 160, 200, 250, 10, 15,
20, 22, 25, 27, 25, 30, 40, 50, 60, 70, 80, 12, 15, 20, 25, 30, 35, 40, 45}
diff1 = New Double() {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
For j As Integer = 0 To 66
diff1(j) = Math.Abs(Head4(j) - chkHead1) + Math.Abs(Flow1(j) chkFlow1)
Next
diffMin1 = diff1(0)
For j As Integer = 0 To 66
If diff1(j) < diffMin1 Then
diffMin1 = diff1(j)
loc1 = j
End If
Next
SubPump_Model.Text = P29001(loc1).ToString
Else
MessageBox.Show("Error - Net head and flowrate obtained in the sub
main pipe exceeds the pump design software database")
End If
Dim P14501a() As String
Dim P29001a() As String
Dim Head4a() As Double
Dim Flow1a() As Double
Dim diff1a() As Double
Dim diffMin1a As Double
Dim loc1a As Integer
Dim chkHead1a As Double
Dim chkFlow1a As Double
chkHead1a = Net_Head_Calculator.Main_Nethead.Text
chkFlow1a = (Flowrate_Calculator.Main_flowrate.Text * 3600)
P14501a = New String() {"E32-26", "E32-26", "E32-26", "E32-26", "E3226", "E32-26", "E65-26", "E65-26", "E65-26", "E65-26", "E65-26", "E65-26", "E6526", "E100-26", "E100-26", "E100-26", "E100-26", "E100-26", "E100-26", "E10026", "E40-20", "E40-20", "E40-20", "E40-20", "E40-20", "E40-20", "E50-20", "E5020", "E50-20", "E50-20", "E50-20", "E50-20", "E100-20", "E100-20", "E100-20",
"E100-20", "E100-20", "E100-20", "E32-16", "E32-16", "E32-16", "E32-16", "E3216", "E32-16", "E32-16", "E32-16", "E50-16", "E50-16", "E50-16", "E50-16", "E5016", "E50-16"}
Head4a = New Double() {25, 26, 25, 24, 20, 18, 25, 24, 23, 22, 20, 17,
15, 25, 24, 23, 22, 20, 18, 16, 17, 17, 16, 15, 1, 10, 17, 16, 15, 14, 13, 12,
17, 16, 15, 13, 12, 11, 10, 10, 10, 10, 9, 9, 8, 6, 12, 12, 11, 10, 10, 9}
Flow1a = New Double() {2, 4, 6, 10, 18, 19, 35, 40, 60, 70, 80, 90, 100,
80, 100, 130, 150, 190, 200, 220, 4, 6, 10, 18, 20, 25, 13, 20, 26, 30, 35, 40,
60, 80, 100, 120, 150, 190, 2, 3, 4, 6, 7, 9, 10, 12, 11, 15, 20, 25, 30, 40}
Page | 51
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
diff1a = New Double() {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0}
If Net_Head_Calculator.Main_Statichead.Text < 0 Then
MainPump_Model.Text = " Gravity energy enough to facilitate flow "
ElseIf chkHead1a < 30 Then
For p As Integer = 0 To 51
diff1(p) = Math.Abs(Head4a(p) - chkHead1a) + Math.Abs(Flow1a(p)
- chkFlow1a)
Next
diffMin1a = diff1a(0)
For p As Integer = 0 To 51
If diff1a(p) < diffMin1a Then
diffMin1a = diff1a(p)
loc1a = p
End If
Next
MainPump_Model.Text = P14501a(loc1a).ToString
ElseIf chkHead1a > 30 And chkHead1a < 120 Then
P29001a = New String() {"AE32-26", "AE32-26", "AE32-26", "AE32-26",
"AE32-26", "AE32-26", "AE32-26", "AE50-26", "AE50-26", "AE50-26", "AE50-26",
"AE50-26", "AE50-26", "AE50-26", "AE50-26", "AE50-26", "AE80-26", "AE80-26",
"AE80-26", "AE80-26", "AE80-26", "AE80-26", "AE80-26", "AE80-26", "AE80-26",
"AE80-26", "AE32-20", "AE32-20", "AE32-20", "AE32-20", "AE32-20", "AE50-20",
"AE50-20", "AE50-20", "AE50-20", "AE50-20", "AE50-20", "AE50-20", "AE50-20",
"AE80-20", "AE80-20", "AE80-20", "AE80-20", "AE80-20", "AE80-20", "AE80-20",
"AE80-20", "AE32-16", "AE32-16", "AE32-16", "AE32-16", "AE32-16", "AE32-16",
"AE50-16", "AE50-16", "AE50-16", "AE50-16", "AE50-16", "AE50-16", "AE50-16",
"AE40-16", "AE40-16", "AE40-16", "AE40-16", "AE40-16", "AE40-16", "AE40-16",
"AE40-16"}
Head4a = New Double() {102, 100, 95, 92, 90, 85, 80, 105, 102, 100,
98, 90, 85, 80, 70, 65, 100, 100, 95, 90, 85, 80, 75, 70, 65, 65, 62, 60, 55,
50, 65, 63, 61, 60, 59, 55, 50, 45, 65, 65, 63, 61, 60, 55, 50, 45, 40, 40, 35,
30, 25, 23, 45, 43, 41, 40, 38, 35, 32, 42, 41, 40, 40, 38, 35, 30, 25}
Flow1a = New Double() {10, 15, 20, 23, 25, 30, 32, 35, 40, 45, 50,
60, 70, 80, 85, 90, 90, 100, 120, 140, 180, 200, 220, 240, 260, 10, 15, 20, 24,
27, 25, 30, 40, 45, 50, 60, 70, 80, 70, 80, 80, 100, 120, 160, 200, 250, 10, 15,
20, 22, 25, 27, 25, 30, 40, 50, 60, 70, 80, 12, 15, 20, 25, 30, 35, 40, 45}
diff1a = New Double() {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
For p As Integer = 0 To 66
diff1a(p) = Math.Abs(Head4a(p) - chkHead1a) + Math.Abs(Flow1a(p)
- chkFlow1a)
Next
diffMin1a = diff1a(0)
For p As Integer = 0 To 66
If diff1a(p) < diffMin1a Then
diffMin1a = diff1a(p)
loc1a = p
End If
Next
MainPump_Model.Text = P29001a(loc1a).ToString
Else
MessageBox.Show("Error - Net head and flowrate obtained in the main
pipe exceeds the pump design software database")
End If
Dim P14502() As String
Dim P29002() As String
Dim Head5() As Double
Dim Flow2() As Double
Dim diff2() As Double
Dim diffMin2 As Double
Dim loc2 As Integer
Dim chkHead2 As Double
Page | 52
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
Dim chkFlow2 As Double
chkHead2 = Net_Head_Calculator.Reservoir_Nethead.Text
chkFlow2 = (Flowrate_Calculator.Reservoir_flowrate.Text * 3600)
P14502 = New String() {"E32-26", "E32-26", "E32-26", "E32-26", "E32-26",
"E32-26", "E65-26", "E65-26", "E65-26", "E65-26", "E65-26", "E65-26", "E65-26",
"E100-26", "E100-26", "E100-26", "E100-26", "E100-26", "E100-26", "E100-26",
"E40-20", "E40-20", "E40-20", "E40-20", "E40-20", "E40-20", "E50-20", "E50-20",
"E50-20", "E50-20", "E50-20", "E50-20", "E100-20", "E100-20", "E100-20", "E10020", "E100-20", "E100-20", "E32-16", "E32-16", "E32-16", "E32-16", "E32-16",
"E32-16", "E32-16", "E32-16", "E50-16", "E50-16", "E50-16", "E50-16", "E50-16",
"E50-16"}
Head5 = New Double() {25, 26, 25, 24, 20, 18, 25, 24, 23, 22, 20, 17,
15, 25, 24, 23, 22, 20, 18, 16, 17, 17, 16, 15, 1, 10, 17, 16, 15, 14, 13, 12,
17, 16, 15, 13, 12, 11, 10, 10, 10, 10, 9, 9, 8, 6, 12, 12, 11, 10, 10, 9}
Flow2 = New Double() {2, 4, 6, 10, 18, 19, 35, 40, 60, 70, 80, 90, 100,
80, 100, 130, 150, 190, 200, 220, 4, 6, 10, 18, 20, 25, 13, 20, 26, 30, 35, 40,
60, 80, 100, 120, 150, 190, 2, 3, 4, 6, 7, 9, 10, 12, 11, 15, 20, 25, 30, 40}
diff2 = New Double() {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0}
If chkHead2 < 30 Then
For k As Integer = 0 To 51
diff2(k) = Math.Abs(Head5(k) - chkHead2) + Math.Abs(Flow2(k) chkFlow2)
Next
diffMin2 = diff2(0)
For k As Integer = 0 To 51
If diff2(k) < diffMin2 Then
diffMin2 = diff2(k)
loc2 = k
End If
Next
ReservoirPump_Model.Text = P14502(loc2).ToString
ElseIf chkHead2 > 30 And chkHead2 < 120 Then
P29002 = New String() {"AE32-26", "AE32-26", "AE32-26", "AE32-26",
"AE32-26", "AE32-26", "AE32-26", "AE50-26", "AE50-26", "AE50-26", "AE50-26",
"AE50-26", "AE50-26", "AE50-26", "AE50-26", "AE50-26", "AE80-26", "AE80-26",
"AE80-26", "AE80-26", "AE80-26", "AE80-26", "AE80-26", "AE80-26", "AE80-26",
"AE80-26", "AE32-20", "AE32-20", "AE32-20", "AE32-20", "AE32-20", "AE50-20",
"AE50-20", "AE50-20", "AE50-20", "AE50-20", "AE50-20", "AE50-20", "AE50-20",
"AE80-20", "AE80-20", "AE80-20", "AE80-20", "AE80-20", "AE80-20", "AE80-20",
"AE80-20", "AE32-16", "AE32-16", "AE32-16", "AE32-16", "AE32-16", "AE32-16",
"AE50-16", "AE50-16", "AE50-16", "AE50-16", "AE50-16", "AE50-16", "AE50-16",
"AE40-16", "AE40-16", "AE40-16", "AE40-16", "AE40-16", "AE40-16", "AE40-16",
"AE40-16"}
Head5 = New Double() {102, 100, 95, 92, 90, 85, 80, 105, 102, 100,
98, 90, 85, 80, 70, 65, 100, 100, 95, 90, 85, 80, 75, 70, 65, 65, 62, 60, 55,
50, 65, 63, 61, 60, 59, 55, 50, 45, 65, 65, 63, 61, 60, 55, 50, 45, 40, 40, 35,
30, 25, 23, 45, 43, 41, 40, 38, 35, 32, 42, 41, 40, 40, 38, 35, 30, 25}
Flow2 = New Double() {10, 15, 20, 23, 25, 30, 32, 35, 40, 45, 50,
60, 70, 80, 85, 90, 90, 100, 120, 140, 180, 200, 220, 240, 260, 10, 15, 20, 24,
27, 25, 30, 40, 45, 50, 60, 70, 80, 70, 80, 80, 100, 120, 160, 200, 250, 10, 15,
20, 22, 25, 27, 25, 30, 40, 50, 60, 70, 80, 12, 15, 20, 25, 30, 35, 40, 45}
diff2 = New Double() {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
For k As Integer = 0 To 66
diff2(k) = Math.Abs(Head5(k) - chkHead2) + Math.Abs(Flow2(k) chkFlow2)
Next
diffMin2 = diff2(0)
For k As Integer = 0 To 66
If diff2(k) < diffMin2 Then
diffMin2 = diff2(k)
loc2 = k
Page | 53
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)
End If
Next
ReservoirPump_Model.Text = P29002(loc2).ToString
Else
MessageBox.Show("Error - Net head and flowrate obtained in the main
pipe delivering to the reservoir from the source exceeds the pump design
software database")
End If
End Sub
VB Code 16
Private Sub Previous_Page_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Previous_Page.Click
Net_Head_Calculator.WindowState = FormWindowState.Normal
Me.WindowState = FormWindowState.Normal
End Sub
VB Code 17
Private Sub Close_Program_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Close_Program.Click
MessageBox.Show(" Margaret and Allan's Creation - The Pumping Design
Software will now close ")
Me.Close()
Net_Head_Calculator.Close()
Diameter_Designer.Close()
Flowrate_Calculator.Close()
Start_Page.Close()
End Sub
End Class
VB Code 18
Page | 54
Margaret Kamau Wakonyo
Allan Bogonko Okinyi
Horticultural Pumping Design Software
You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)