Common Assumptions Made By Other Fluid Flow Programs and The DFS Approach|
fluid flow analysis programs make questionable or clearly incorrect
assumptions when solving problems. Most of these assumptions
remain undocumented, or documented where they will not be read
by the average users. When questioned, most of these companies
will downplay any of these issues by stating that they just
don’t matter. We think you should decide for yourself.
are some of the common assumptions that can result in significant
errors in calculated results, as well as a simple problem for
each assumption that one can use to demonstrate the error. In
no case has ABZ provided the worst case situation in an attempt
to bias the results. All of these errors can be worse or better,
depending on the specific details of the problem being analyzed.
Fluid velocity is constant throughout any system.
assumption is mandated by the fact that most other programs
ignore the velocity terms of Bernoulli’s equation, thus
ignoring conservation of energy. One such program even goes
so far as to state that if the user wants to conserve energy,
that the velocity component must be manually factored into the
The impact of this assumption is that any system which contains
tees or crosses (with flow in more than two legs) or reducers
or enlargers will be analyzed incorrectly!
Draw a pipeline consisting of two different sizes of pipe (with
the appropriate reducer or enlarger between the pipes). Make
the sizes very different and the lengths of pipe a reasonable
length to make the error larger (such as 36 inch pipe and 1
inch pipe with 10 feet of each size of pipe). Determine the
flow rate with a 20 psid with flow in both directions. The flow
rates should be very different because of the change in velocity
(increases in one case, decreased in the other).
An energy balance is automatically performed across each and
every component in the system. The user does not need to perform
any separate steps to include the effect of changing velocities.
Component resistances do not depend on flow direction.
programs do not correctly calculate component resistances unless
the flow direction is properly chosen when the problem is specified.
Thus, in situations where the flow direction is not known or
changes for different conditions, the component resistances
will be calculated incorrectly.
The impact of this assumption is that all flowpaths must be
drawn in the correct direction initially (and this direction
must be known), and anytime a different configuration of running
pumps/open valves or known pressures and flows is to be analyzed,
any flowpaths where flow direction can change may require the
user to respecify those flowpaths.
Draw a pipeline with a size change (reducer or enlarger). Define
flow in one direction. Look at the calculated flow resistance
of the size change. Now define flow in the other direction.
Look at the calculated flow resistance of the size change again.
The values should be different.
Each time flow direction is changed (whether during the analysis
of a problem or due to the user specifying known flow information)
the resistance of each item is reviewed and recalculated if
Tees and Crosses have no flow resistance.
programs use tees and crosses to combine and split flow only,
and include no resistance for the tee or cross. If desired by
the user, such resistance must be added separately. Of course,
the resistance depends on the total flow, the direction of flow
for each leg, and the amount of flow in each leg. All of these
values must be known prior to determining the resistance of
The impact of this assumption is that any problem or flowpath
which includes tees will calculate incorrect flow rates or differential
pressures unless the user adds the correct resistance for the
tee or cross. This generally requires that the user know the
flow rates prior to analyzing the problem.
Draw a flow network consisting of a tee with 10 feet of 2 inch
pipe connected to each leg. Define the flow at the end of one
of the pipes to be zero. Define pressures at the ends of the
other two pipes to specify a differential pressure of 20 psid.
The differential pressures across the two pipes should not add
up to the total differential pressure (since the tee has resistance)
if the program includes resistance for the tee.
The resistance of a tee or cross is determined automatically
based on the flow direction and flow rate for each leg of the
tee or cross. The user does not need to separately add any additional
resistance nor to know the flow rates prior to adding a tee
or a cross.
Compressible flow analysis can be performed using the Darcy-Weisbach
Darcy-Weisbach equation for liquid flow assumes that the density
of the fluid flowing in the system is constant. By definition,
properties (such as density) change for a compressible fluid
as pressure changes. For example, a 40 percent change in pressure
for air at 200 psia and natural gas at 200 psia results in about
a 40 percent change in density. This change results in a calculated
flow that is too high if differential pressure is specified,
or a calculated differential pressure that is too high if flow
is specified. Further, for any differential pressure greater
than 10 percent, these programs require that average fluid properties
(calculated from both the inlet and outlet properties) be used
throughout. This, of course, requires that the properties at
both ends be known before the problem is solved, or that the
problem be solved multiple times (changing the fluid properties
each time), until this condition is matched. For a larger network,
this would require that separate fluid properties be calculated
and specified at numerous locations throughout the network.
On any single flow path, this assumption can result in a significant
error (which is worse for smaller component resistances). In
fact, problems with small resistances can even reach sonic conditions
prior to a reaching a pressure change of 40 percent. This assumption,
together with a larger flow network, can result in significant
errors and even errors in flow direction.
Analyze a piece of pipe at a flow rate which results in a pressure
drop of 40 percent of the inlet pressure. Compare the inlet
and outlet volumetric flow rates. If they are the same, the
program is not performing a correct compressible analysis. Since
the density changes from inlet to outlet, the volumetric flow
rates must change as well.
DFS uses a true compressible analysis, and allows for two heat
transfer assumptions (adiabatic and isothermal). Further, DFS
is the only program to provide for conservation of energy across
tees, reducers and enlargers, and changes in elevation.
Component order within a pipeline has no effect on the calculated
programs allow the user to enter the number of specific valves
and fittings that are contained within a pipeline, as well as
the presence of a size change or pump. None allow the user to
define the order of components within the pipeline.
For liquid systems, the order of components is important when
looking at pressures along the pipeline, and to ensure that
the proper size component has been specified when the pipeline
contains a size change. Ignoring pressures along the pipeline
can result in incorrect flow rates being calculated when cavitation
occurs (which would not be foreseen if component order is ignored).
For compressible systems, in addition to these two reasons,
the calculation may be incorrect if an incorrect component order
is assumed (depending on the specific hardware being analyzed)
since the flow velocity changes as the fluid pressure changes,
and thus the head loss across each component is different depending
on its location in the pipeline.
Build two pipelines in series, each with 1 foot of NPS 2, schedule
40 pipe. Add an additional resistance with a K factor of 10
to the first pipeline. Analyze the system with a differential
pressure of 40 percent of the inlet pressure. Note the differential
pressure across the pipe without the added resistance. Now remove
the additional resistance from the first pipeline and add it
to the second pipeline. Analyze the system again for the same
differential pressure. Again note the differential pressure
across the pipe without the added resistance. The two noted
values should be different. If they are the same, then the program
does not consider component order and all calculated values
may be incorrect.
build a pipeline with 100 feet of NPS 1, schedule 40 pipe oriented
vertically with two inline globe valves at the top of the pipe.
Analyze this pipeline with atmospheric pressure at both ends.
If a flow rate is calculated and no error about cavitation is
provided, then the program does not consider component order.
DFS allows the user to input components in their correct order,
and analyzes systems on a component by component basis. Thus,
component order and its effect on the calculations is always
The user is not interested in differential pressures across
individual components and flow rates or velocities within a
programs require that valves and fittings be specified as contained
in a given pipeline, but they do not show calculated values
across individual components; rather they provide values for
the entire pipeline as a single item. In some programs, the
user may instead choose to add each fitting or valve as a separate
item (independent of any given pipeline). This approach, however,
quickly exceeds the capabilities of such programs to display
a network with even a normal amount of valves and fittings.
While not generally a calculational issue, the inability to
view calculated values across each valve or fitting may make
obtaining desired information difficult if not impossible.
Build a pipeline with several valves and fittings. Analyze this
pipeline for a given flow rate. Attempt to view the differential
pressure across each valve and fitting.
DFS allows the user to view flow rate and pressure information
before, after, and across each component within a pipeline.
In addition, available printouts include “big picture”
graphical printouts which illustrate information on a flowpath
level, and “detailed” graphical printouts which
provide flow and pressure information for each component within
Negative absolute pressures are a valid result of a flow calculation.
programs show calculated results with pressures less than absolute
zero. They may provide a warning, but even if such a warning
is provided, it is typically difficult to see.
Calculations can provide nonsensical results that the user is
not made aware off (either due to the lack of a warning or error
message, or due to the lack of a visual flag that such an error
Build a system with two pipelines in series. Make the first
pipeline NPS 2, schedule 40, 100 feet long, with an increase
in elevation of 50 feet (from inlet to outlet). Make the second
pipe NPS 2, schedule 40, 100 feet long, with a decrease in elevation
of 100 feet (from inlet to outlet). Specify atmospheric pressure
at both the inlet and outlet. The program should indicate that
flashing has occurred (if the program is designed to perform
two-phase flow calculations), or should provide a clear indication
that an error exists (since the fluid will flash in the middle
of the two pipelines and flow will not be single-phase).
For many problems, DFS simply does not consider flows which
result in cavitation within liquid systems. Where this is not
possible (such as when flow rates have been specified by the
user), DFS provides a clear indication of the resulting error
The user always knows whatever flow or pressure information
the program is designed to need.
programs are designed to accept only one type of flow information,
such as mass flow rate (e.g., lbm/hr). This makes the job of
the programmer easier at the cost of increased difficulty when
using the program. Further, certain types of known flow information
can rarely be specified by the user, such as volumetric flow
rate relative to standard conditions (e.g., scfm) and velocity
When information is known by the user in units other than that
accepted by the program, the user must convert the known information
into whatever the program demands. In the case of a compressible
problem, this is difficult if not impossible (since these conversions
generally depend on the fluid state which is not known until
the problem has been solved).
Add a simple pipeline with any hardware and attempt to specify
flow information. Observe what types of information the program
allows (most demand mass flow rate; a few also allow volumetric
flow rate). Look specifically for standard volumetric flow rate
(scfm) and velocity (fps).
DFS allows the user to specify flow information as mass flow
rate, volumetric flow rate (relative to flowing or standard
conditions), or velocity. This information can be entered in
any of the unit types supported by the program (54 types for
flow information alone; more can be added by the user).
Flow velocities higher than sonic velocity can be calculated
with any geometry fitting.
the exception of some very specific fittings designed to obtain
supersonic flows, the flow rate of all fluids is limited to
the velocity of sound of that fluid at that temperature. This
limit can change throughout a system as the fluid temperature
Calculating flows that are physically not possible provides
no useful information to the user; rather, unless he somehow
figures out that a physical limit has been violated he may unknowingly
use the incorrect flow rates.
Add a pipeline with 5 feet of NPS 4, schedule 40 pipe. Define
the fluid at the inlet of this pipe to be Air at 60 degrees
Fahrenheit and 200 psia. Define the outlet pressure to be 120
psia (a 40 percent drop in pressure). The program should indicate
clearly that this pressure drop cannot be obtained due to sonic
DFS checks for sonic flow limitations for each and every component.
DFS also addresses the limitations in flow rate associated with
component reduced flow areas. Further, DFS considers limitations
associated with heat transfer when analyzing compressible isothermal