How do the different options to apply demands work?

Product(s): WaterGEMS, WaterCAD, HAMMER
Version(s): All Versions
Area: Layout and Data Input


What are the different demand options and how do they work?


When designing a water distribution system, demands are allocated on nodes. A node can be a junction, a customer meter or in some cases, even a tank. A demand represents water requirement at a location and drives the hydraulics of the network. When demands are applied at nodes, they can be either “fixed” or vary over time. If a demand varies over time, the factors by which it would vary are available as multipliers in the pattern. This pattern can be applied to the demand and would be considered at different time steps during an Extended Period Simulation.

This article provides details on the different ways demands and patterns can be applied in a hydraulic model and their usage


The different types of demands available are;

Demand (Base) This is the base demand, which is usually applied at a junction, customer meter, hydrant, tank. This demand is usually your ‘average daily demand’. An average daily demand is the average water requirement for the day at that node.
Unit Demand A unit demand can be a per capita demand based on population, count or area. This value is usually considered as per standards followed and may change from region to region.

In conjunction with these demands, there are patterns that need to be specified to govern how the demands would be applied in the hydraulic model;

Fixed A fixed pattern means that the demand would be constant throughout the simulation.
Pattern If any hydraulic pattern is specified with the demand the same would be applied throughout the simulation.

Within patterns we have hourly, daily and monthly factors. They are elaborated as below;

Hourly Patterns This pattern signifies the hourly variation in demand. Usually the diurnal curve is represented here. The multipliers defined would be multiplied by based demand and the resulting demand would be considered at the corresponding time. Example: If junction J-1 has base demand of 10 L/s and as per the pattern in the above snapshot the multiplier for time 4 hours is 0.5. Hence the resultant demand applied at 4 hours would be 0.5*10 = 5 L/s
Daily Patterns

Daily patterns signify the day to day changes in the demands. Usually, extended period simulations run for a day i.e. 24 hours, but in some cases your simulation time may be more if you want to account for daily changes. In such cases daily factors can be used which would be applied for particular days.

Monthly Patterns

Similar to daily patterns, these are multipliers which are applied for months. Usually these patterns are applied at a reservoir level where there could be seasonal changes in HGL over the year.

There are different ways in which demands can be applied in a model. A few things would however remain constant such as;

  • Demands are always applied at node elements (junctions, hydrants, customer meters or tanks)
  • Patterns would be associated with a demand based on the simulation.

In a typical water distribution network, there are several ways in which we can apply a demand. We will look at an example in which a demand of 5 L/s has to be assigned to a junction (J-1) with a pattern for 24 hours.

Option 1: Assign Demands Individually to Nodes

In the drawing pane search for J-1 and open up the “Demand Collection” under the junction J-1 properties.

Click on the ellipsis and the demands dialog box opens up;

Here we enter the “Demand (Base)” and assigned the pattern “24 x 7” which has to be created before it is assigned.

This method is suitable for small models where you can individually assign demands to the different nodes.

Option 2: Assign Demands from Demand Control Center

Navigate to Components Tab > Demand Center > Demand Control Center.

This opens up the Demand Control Center where we currently see only junction J-1 for whom we have assigned the demand of “5 L/s” and the “24 x 7” pattern.

This option is most suitable if you have multiple nodes or junctions in your model and all the demands and their patterns are visible in a tabular manner. This saves time from the manual operation of locating and individually assigning demands to the nodes.

For more information on this see here: Unit demand control center Vs. Demand control center

Option 3: Assign Demands from the Demand Alternative

Navigate to Home > Alternatives and expand the Demand alternative and open “Base Demand”

Once opened the details of the junction and the various types of demands currently applied to the node are visible. This can be useful if a single node has multiple demand types associated with it.

Editing demands by going to the Demands alternative is mainly done to control which demands will be active in a particular scenario. Often models are run with multiple cases in different scenarios and different demands are applied to simulate these results. To achieve this, you can control which demands are active in a particular scenario.

See more on this here: Scenario and Alternative Management

Option 4: Assign Demands via ModelBuilder / LoadBuilder

A good way to assign demands quickly for large models is by importing them via ModelBuilder / LoadBuilder. This method is used when you have large models and the demand data is available in either a spreadsheet format or in a shapefile format. See the articles below which discuss these options in detail below;

Importing Demand and Loading Patterns using ModelBuilder

How do each of the LoadBuilder methods work?

It’s a good idea to first decide what kind of demands one needs to work with in their system and what is the best way to get them into the model. The above options can guide on the ways to enter demands for simulation.

See Also

Forum Post - Pattern usage questions