Phastline is a batched pipeline simulation program and is now available for use free of charge. Please review the information below and if interested in using the application, use the "Sign-Up" link provided to register an account and begin using the application right away. If you have any questions or need support on how to use the application you may get in touch with the developer at [email protected]. Thank-you.
Phastline simulates the operation of a batched or single product liquid pipeline. By providing the application with a physical description of the pipeline such as length, diameter, elevation, station location, pumps etc. and the type of product to be shipped, the application will calculate and report the hydraulic gradients, pressures, flowrates, power and energy. It takes the products to be shipped in the form of a nomination, breaks the volumes into batches and simulates the movement of those batches through the pipeline, taking into account intermediate injections and deliveries at stations along the line. Batch injections will be scheduled out over the course of the simulation to evenly spread the volumes provided by each shipper.
The maximum flowrate or capacity of the pipeline will be determined and the pressure profile at each step in time during the simulation will be calculated. Pump curves will be combined at the stations to determine the discharge pressures and the Colebrook-White formula for line loss will be used to calculate the pressure losses between stations. At no point will pressures exceed the maximum allowed pressure of the pipe or go below the vapour pressures of the fluids in the line. Viscosity and density of the fluids will be corrected for temperature. A report is provided that shows where the bottlenecks are located on the pipeline which are the points limiting the rate of flow.
Users can modify the physical attributes of the pipeline to determine the effect of each change on pressures, flow rates and power/energy consumption.
Phastline is an entirely web-based application and only requires an internet browser on the users PC or laptop. The compatible browsers on Windows 10 are MS Edge, Google Chrome and Mozilla Firefox. Internet Explorer does NOT work. Compatible browsers on Mac OSX are Safari, Google Chrome and Mozilla Firefox. The application will also run in iOS on Apple iPads or iPhones and Android smartphones and tablets.
The application needs to know specifics of the pipeline and products to be shipped through it before it can run a simulation of its operation. The diagram below shows an overall structure of the data used by the application.
When a person signs-up to use the application, they become an authorized user and can begin to use the application. A new user will be provided with an initial set of seed data consisting of two sample pipelines and a set of pump characteristics and commodity characteristics as examples of how to set up the input data. The user can then run simulations on these two sample pipelines or begin to create their own pipelines and simulations. A user owns each pump, commodity, pipeline and simulation that they create. Each user's data is completely separate and no two users can see each other's data.
Commodities are the products that are shipped through the pipeline. Each commodity will have an ID which is an abbreviation that is unique and that will be used to identify the batches in the pipeline. Also, each commodity needs to have its fluid properties recorded, which consists of:
Pumps are identified by a pump ID (e.g. B-C-517). Each pump has a head curve which is a series of (flowrate, head) data points. "Head" is the unit commonly used to measure the pressure output of a pump and refers to the height that a column of fluid would rise to if coming straight out the discharge side of the pump. The head or pressure, generated by a pump typically decreases as the rate of flow increases.
Pumps are installed at stations in series or parallel combinations. Each pump is placed in a certain row and column position. Pumps on the same row are in series whereas pumps in parallel on on different rows. The flowrate through a station is divided up equally across each row of the pump configuration. For pumps in series, the discharge side of one pump is fed into the suction side of the pump in the next column position. Pumps are considered incompatible if the heads that they generate do not overlap over some range of flowrates.
The roughness of a pipe refers to how smooth the inside wall of the pipe is and is measured in meters or inches so is an extremely small fractional number. Obviously, the rougher the pipe, the more line loss there is along the pipe. Typically the wider the wall thickness, the higher the MAWP. Pipe segments are connected in series and their position in the line shown as the kilometer post at which the pipe segment starts. The diameter of the pipe is the single most important factor in determining the flowing pressure loss in the pipe. According to the Colebrook-White line loss formula, the pressure loss varies as the 5th power of the diameter.
Stations are the points along the pipeline where pumping units are installed and can also be locations where injections or deliveries can occur. The location of a station along the line is designated by a kilometer post.
A pipeline has an elevation profile as it follows the contour of the land over which it is constructed. An elevation profile is a series of (kmp, elevation) data points. The elevation profile is important since there are static pressure losses and gains along the pipeline that effect the hydraulics of the line. As the pipeline goes uphill, pressure is lost and conversely as it goes downhill, pressure is gained. The gain or loss in pressure also depends on the density of the product in the line.
An estimated pipeline temperature profile is required so that the program can calculate the changes to both viscosity and density of the product in the line. For higher temperatures, the viscosity of a fluid typically decreases resulting in lower pressure loss as it is pumped through the line. Similarly for density, a fluid has slightly lower density at a higher temperatures. The temperature profile is a series of data points with (kmp, temperature) values.
Drag Reducing Agents (DRA) or "flow improvers" can be specified for various sections of the pipeline. DRA is an chemical additive injected into the pipeline to reduce turbulence in the pipe and reduces the amount of pressure loss down the pipeline. A percentage reduction in pressure loss may be specified over a certain range of the pipeline to model the effect on the line. For example, a DRA value of 70 would reduce the amount of pressure loss due to flow turbulence over the distance range specified by 70%, thus resulting in increased pipeline flowrate capacity and/or less power consumption to run the line. Typical values for various commercial flow improvers range from 20% to 80%.
A nomination is what a pipeline company typically receives from its shipper customers on a monthly basis. A nomination consist of the type of commodity the shipper wishes to move through the pipeline, a volume and the starting (receipt) and ending (delivery) locations over which the product will travel. When nominations are received, the program will break the volumes up into smaller batches according to a user specified maximum batch size. The program will then sequence the batches in the order in which they will be pumped over the month in a manner that evenly distributes the batch injections over that time period. This is so that no one shipper is over taxed to provide all of its nominated volume all at once to the pipeline. Shipper's have supply and feeder pipeline facilities with limited capacity and this has to be taken into account. A nomination typically corresponds to one calendar month pumping period and will consist of multiple shipments of different commodities from multiple shippers. Each of the desired shipments is usually of a volume higher than what can be practically shipped down the line in one batch. A nomination consists of shipments where each shipment will have the following data values:
The program performs the following calculations to model pipe segments:
Stations are modeled as follows. Note that not all stations have pumps and not all stations will have injection or delivery operations occurring at them.
Station curves are calculated by adding the pressures of all pumps on the same row at common flow rate values. If there is more than one row of pumps at a station (parallel operation) the flow rates of each row are added at common pressure values.
The pressure gain created through the action of a pump in the line is simply modeled from flow vs pressure curves supplied from the Pump Characteristics file. Normally, the higher in flowrate, the less pressure a pump can generate. These curves are in the form of several points (e.g. 15). Pumps are identified by a unique 10 character pump name. Each pump may have several curves, one for each different range of viscosity. The performance of a pump is dependent on the viscosity of the fluid being pumped. The density of the fluid in the pump also has a significant effect on the pressure generated but it does not change the shape of the performance curve as viscosity does.
The following formula is used for computing the pressure generated by a pump:
pres = (gcons/1000) * dens * head
where:
pres = pressure gain through a pump (kpa)
gcons = acceleration due to gravity (9.806 m/sec**2)
/1000 = conversion from pascals to kilopascals (kpa)
dens = density of fluid in pump (kg/m3)
head = meters of head of water interpolated from curve
Lineloss is the total pressure lost (or gained) along the pipe from one station to the next. There are two components to lineloss (static and dynamic). Static lineloss is the pressure variation along the line caused by elevation differences (i.e pressure is lost going uphill and gained coming downhill). Denser batches lose more pressure going uphill than lighter batches.
Static Lineloss formula: PS = G * dens * elevreynl = Reynolds number kreyn = Constant (353.677499) flow = flowrate (m3/hr) diam = diameter (meters) visc = viscosity (centistokes)Friction Factor calculation:
frict = friction factor
reynl = Reynolds number
ruff = roughness of pipe (millimeters)
diam = diameter (meters)
SQRT = notation to mean "square root of"
LOG = base 10 logarithm
** = notation to mean "to the power of"
kdarc = constant (6.254)
dens = density (kg/m3)
frict = friction factor
flow = flowrate (m3/hr)
diam = diameter (meters)
loss = pressure loss (kpa/kilometre)
The two fluid properties modelled by this program are viscosity and density. Both of these properties are functions of temperature.
The viscosity attributes for each fluid id contained in the fluid properties file consist of two viscosity/temperature points (V1,T1) and (V2,T2). The ASTM method is used to compute the viscosity V at some temperature T given V1,T1 and V2,T2. Using the two viscosity points read in from the file the program solves the following equation to get two coefficients for each fluid (A and B):
LOG(LOG(Z)) = A - B*LOG(T)Z = V + 0.7 + EXP( -1.47 - 1.84*V - 0.51*(V*V) )
V = kinematic viscosity in centistokes (mm**2/sec)
T = Temperature in degrees kelvin
A = first viscosity coefficient
B = second viscosity coefficient
LOG = Base 10 logarithm
Using the same formula, the program adjusts viscosities along the line to the temperatures specified at that point.
The density attributes for each commodity contained in the commodity table consist of a density at 15 degrees C and a density correction factor. The program then uses the following formula to adjust the specified 15 deg C density to line temperatures:
D = D15 * DCF**(T-15)D = Density at temperature T
D15 = Density at 15 degrees C
DCF = Density correction factor
T = Temperature at a point on the line
** = notation to mean "raised to the power"
The power shown in the application's reports is hydraulic power imparted to the fluid and is expressed in Kilowatts. The formula used is:
Power = Q * dP / 3600
where:
The "Capacity" flowrate is computed using successive iterations until the line pressure is within 1 kpa of vapour pressure at some point on the line. The minimum difference between line pressure and vapour pressure is termed the "violation amount".
Successive flowrate values are computed using linear interpolation based on the previous two flowrates and violation amounts. Note that a negative violation amount means there is no violation and the negative value is a measure of how much room there is until a violation is reached (over MAWP or under vapour pressure).
The volumes of product desired to be shipped on the line are specified in the nomination. These volumes are typically broken up into smaller standard size batches so that a shipper is not required to supply all of it at one time. The standard size of the batches is set by the user when they run a simulation (e.g. 10,000 m3). Once the shipments are broken up into batches, they are sequenced in an order that ensures equitable distribution of injections from each shipper over the course of the simulation period (typically one month).
The bottleneck percentages listed in the summary results display following a simulation show the percentage of times each station is considered to be a "bottleneck". When a station is tagged as being a bottleneck, that means that at some point in the line between it and the next station, there is a low pressure point that is close to the vapour pressure of the fluid in the line at that point in time. If the intention is to increase the capacity of a pipeline, those stations that show high bottleneck percentages should be given consideration for either adding additional pumps or replacing line segments downstream of the station with wider diameter pipe or higher MAWP ratings.
The batches in the line at the start of the simulation are set so that the last batch of the batch sequence lies fully downstream of the first station in the line. This way, the first batch to be injected at the first station will be the first batch of the bactch sequence.
The Phastline application is intended to be a training tool for someone interested in understanding how a batched liquid pipeline is designed and operated. As a design tool, the user can evaluate different variations of pipe diameter, size, station spacing and pump installations to see how each change effects the overall pipeline capacity. As an operational tool, the user can configure pipeline as it currently exists, then use current or forecasted nomination volumes to run through it to determine the power and energy usage which could ultimately determine the cost of operating the pipeline.
The user is provided with sample set of data when they first sign-up to use the application. This includes:
For running their own studies, a user would typically start out by setting up the input data for the pipeline they are interested in as follows.
Running a simulation is simply a matter of selecting it form the index list of simulations shown on the first screen in the application, then pressing the "Run Simulation" button. The length of time the program takes to complete the simulation depends on how large the pipeline is (pipeline length and number of stations) and how large the nominated shipments are (large volumes mean large number of batches). Simulations typically take from a few seconds to a minute, depending on how large the pipeline is and how many batches there are.
The current list of display available for viewing the simulation results are:
A user would typically start out by going to the www.phastware.com website and reading about the Phastline application by selecting the "documentation" link. If interested, you can contact me at [email protected] and I will create an account for you with a username and initial password. The new account will have a set of initial data seeded for it including sample pipeline, nomination, pump and commodity data. Now the user can sign-in to their account and start creating/modifying pipelines and running simulations.
Phastline is an entirely web-based application. It does not require anything to be installed on the user's PC or laptop. All data is stored in a back-end SQL database and all front-end screens and processing were coded using the Ruby on Rails application development environment with the MVC (Model-View_Controller) architecture. All data in a users's account is secured in the SQL database and separate from other user's data. If a user prefers the application to be installed directly on a PC or laptop, then that is also an option but will require some work on my part to install the necessary software on your machine.
The application is under continuous development and refinement so version upgrades are frequent. All enhancements and bugs are being recorded in a JIRA project database. The first release of the application (version 1.1) was in December 2017. If you are interested in being notified about what future enhancements are planned or have suggestions yourself, please contact Warren Shockey by email at [email protected].