{
  "version": 1,
  "id": "po.wb.vfp.pipe-flow-functions",
  "name": "Single-Phase Liquid Pipe Flow",
  "sheets": [
    {
      "name": "Inputs",
      "cells": [
        {
          "ref": "A1",
          "value": "Pipe Flow — Inputs"
        },
        {
          "ref": "A2",
          "value": "Single-phase liquid flow in vertical tubing. Pressure drop has two components: friction (increases with rate²) and gravity/hydrostatic (constant for a given density and depth)."
        },
        {
          "ref": "A4",
          "value": "Liquid Properties"
        },
        {
          "ref": "A5",
          "value": "Liquid Rate"
        },
        {
          "ref": "B5",
          "value": 5000
        },
        {
          "ref": "C5",
          "value": "bbl/d"
        },
        {
          "ref": "A6",
          "value": "Liquid Density"
        },
        {
          "ref": "B6",
          "value": 50
        },
        {
          "ref": "C6",
          "value": "lb/ft3"
        },
        {
          "ref": "A7",
          "value": "Liquid Viscosity"
        },
        {
          "ref": "B7",
          "value": 1
        },
        {
          "ref": "C7",
          "value": "cP"
        },
        {
          "ref": "A9",
          "value": "Pipe Properties"
        },
        {
          "ref": "A10",
          "value": "Tubing ID"
        },
        {
          "ref": "B10",
          "value": 2.992
        },
        {
          "ref": "C10",
          "value": "in"
        },
        {
          "ref": "A11",
          "value": "Tubing Length"
        },
        {
          "ref": "B11",
          "value": 8000
        },
        {
          "ref": "C11",
          "value": "ft"
        },
        {
          "ref": "A12",
          "value": "Roughness"
        },
        {
          "ref": "B12",
          "value": 0.0006
        },
        {
          "ref": "C12",
          "value": "in"
        },
        {
          "ref": "A13",
          "value": "Pipe Angle"
        },
        {
          "ref": "B13",
          "value": 90
        },
        {
          "ref": "C13",
          "value": "degrees"
        },
        {
          "ref": "A15",
          "value": "Calculated Results"
        },
        {
          "ref": "A16",
          "value": "Reynolds Number"
        },
        {
          "ref": "B16",
          "formula": "=PO.VFP.Liq.Re(VFP_Ql,VFP_RhoL,VFP_ID,VFP_UL)",
          "cached": 123663.10160427804
        },
        {
          "ref": "C16",
          "value": "dimensionless"
        },
        {
          "ref": "A17",
          "value": "Friction Loss"
        },
        {
          "ref": "B17",
          "formula": "=PO.VFP.Liq.dPfrc(VFP_Ql,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough)",
          "cached": 155.52097809126317
        },
        {
          "ref": "C17",
          "value": "psi"
        },
        {
          "ref": "A18",
          "value": "Gravity Head"
        },
        {
          "ref": "B18",
          "formula": "=PO.VFP.Liq.dPgrv(VFP_RhoL,VFP_Len,VFP_Angle)",
          "cached": 2777.7777777777774
        },
        {
          "ref": "C18",
          "value": "psi"
        },
        {
          "ref": "A20",
          "value": "Well Application"
        },
        {
          "ref": "A21",
          "value": "Wellhead Pressure"
        },
        {
          "ref": "B21",
          "value": 200
        },
        {
          "ref": "C21",
          "value": "psi"
        },
        {
          "ref": "A22",
          "value": "Required BHP (upflow)"
        },
        {
          "ref": "B22",
          "formula": "=PO.VFP.Liq.Pin(VFP_Ql,VFP_Pwh,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough,VFP_Angle)",
          "cached": 3133.298755869041
        },
        {
          "ref": "C22",
          "value": "psia"
        }
      ]
    },
    {
      "name": "Rate Sensitivity",
      "cells": [
        {
          "ref": "A1",
          "value": "Rate Sensitivity — Friction Pressure Drop"
        },
        {
          "ref": "A2",
          "value": "Friction loss vs rate for the tubing defined on the Inputs sheet. Reynolds number determines flow regime (laminar <2100, turbulent >4000)."
        },
        {
          "ref": "A4",
          "value": "Friction Loss vs Rate"
        },
        {
          "ref": "A5",
          "value": "q (bbl/d)"
        },
        {
          "ref": "B5",
          "value": "dP Friction (psi)"
        },
        {
          "ref": "C5",
          "value": "Re"
        },
        {
          "ref": "D5",
          "value": "BHP (psi)"
        },
        {
          "ref": "A6",
          "value": 500
        },
        {
          "ref": "B6",
          "formula": "=PO.VFP.Liq.dPfrc(A6,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough)",
          "cached": 2.3194133606282286
        },
        {
          "ref": "C6",
          "formula": "=PO.VFP.Liq.Re(A6,VFP_RhoL,VFP_ID,VFP_UL)",
          "cached": 12366.310160427802
        },
        {
          "ref": "D6",
          "formula": "=PO.VFP.Liq.Pin(A6,VFP_Pwh,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough,VFP_Angle)",
          "cached": 2980.0971911384054
        },
        {
          "ref": "A7",
          "value": 1000
        },
        {
          "ref": "B7",
          "formula": "=PO.VFP.Liq.dPfrc(A7,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough)",
          "cached": 7.9882411232282315
        },
        {
          "ref": "C7",
          "formula": "=PO.VFP.Liq.Re(A7,VFP_RhoL,VFP_ID,VFP_UL)",
          "cached": 24732.620320855603
        },
        {
          "ref": "D7",
          "formula": "=PO.VFP.Liq.Pin(A7,VFP_Pwh,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough,VFP_Angle)",
          "cached": 2985.766018901006
        },
        {
          "ref": "A8",
          "value": 1500
        },
        {
          "ref": "B8",
          "formula": "=PO.VFP.Liq.dPfrc(A8,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough)",
          "cached": 16.650071784711987
        },
        {
          "ref": "C8",
          "formula": "=PO.VFP.Liq.Re(A8,VFP_RhoL,VFP_ID,VFP_UL)",
          "cached": 37098.93048128341
        },
        {
          "ref": "D8",
          "formula": "=PO.VFP.Liq.Pin(A8,VFP_Pwh,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough,VFP_Angle)",
          "cached": 2994.4278495624894
        },
        {
          "ref": "A9",
          "value": 2000
        },
        {
          "ref": "B9",
          "formula": "=PO.VFP.Liq.dPfrc(A9,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough)",
          "cached": 28.186374668947554
        },
        {
          "ref": "C9",
          "formula": "=PO.VFP.Liq.Re(A9,VFP_RhoL,VFP_ID,VFP_UL)",
          "cached": 49465.24064171121
        },
        {
          "ref": "D9",
          "formula": "=PO.VFP.Liq.Pin(A9,VFP_Pwh,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough,VFP_Angle)",
          "cached": 3005.964152446725
        },
        {
          "ref": "A10",
          "value": 2500
        },
        {
          "ref": "B10",
          "formula": "=PO.VFP.Liq.dPfrc(A10,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough)",
          "cached": 42.535562641163665
        },
        {
          "ref": "C10",
          "formula": "=PO.VFP.Liq.Re(A10,VFP_RhoL,VFP_ID,VFP_UL)",
          "cached": 61831.55080213902
        },
        {
          "ref": "D10",
          "formula": "=PO.VFP.Liq.Pin(A10,VFP_Pwh,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough,VFP_Angle)",
          "cached": 3020.3133404189416
        },
        {
          "ref": "A11",
          "value": 3000
        },
        {
          "ref": "B11",
          "formula": "=PO.VFP.Liq.dPfrc(A11,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough)",
          "cached": 59.66038849171717
        },
        {
          "ref": "C11",
          "formula": "=PO.VFP.Liq.Re(A11,VFP_RhoL,VFP_ID,VFP_UL)",
          "cached": 74197.86096256682
        },
        {
          "ref": "D11",
          "formula": "=PO.VFP.Liq.Pin(A11,VFP_Pwh,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough,VFP_Angle)",
          "cached": 3037.438166269495
        },
        {
          "ref": "A12",
          "value": 3500
        },
        {
          "ref": "B12",
          "formula": "=PO.VFP.Liq.dPfrc(A12,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough)",
          "cached": 79.53629993870284
        },
        {
          "ref": "C12",
          "formula": "=PO.VFP.Liq.Re(A12,VFP_RhoL,VFP_ID,VFP_UL)",
          "cached": 86564.17112299462
        },
        {
          "ref": "D12",
          "formula": "=PO.VFP.Liq.Pin(A12,VFP_Pwh,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough,VFP_Angle)",
          "cached": 3057.3140777164804
        },
        {
          "ref": "A13",
          "value": 4000
        },
        {
          "ref": "B13",
          "formula": "=PO.VFP.Liq.dPfrc(A13,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough)",
          "cached": 102.14616094549812
        },
        {
          "ref": "C13",
          "formula": "=PO.VFP.Liq.Re(A13,VFP_RhoL,VFP_ID,VFP_UL)",
          "cached": 98930.48128342241
        },
        {
          "ref": "D13",
          "formula": "=PO.VFP.Liq.Pin(A13,VFP_Pwh,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough,VFP_Angle)",
          "cached": 3079.9239387232756
        },
        {
          "ref": "A14",
          "value": 4500
        },
        {
          "ref": "B14",
          "formula": "=PO.VFP.Liq.dPfrc(A14,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough)",
          "cached": 127.47750654896774
        },
        {
          "ref": "C14",
          "formula": "=PO.VFP.Liq.Re(A14,VFP_RhoL,VFP_ID,VFP_UL)",
          "cached": 111296.79144385023
        },
        {
          "ref": "D14",
          "formula": "=PO.VFP.Liq.Pin(A14,VFP_Pwh,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough,VFP_Angle)",
          "cached": 3105.255284326745
        },
        {
          "ref": "A15",
          "value": 5000
        },
        {
          "ref": "B15",
          "formula": "=PO.VFP.Liq.dPfrc(A15,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough)",
          "cached": 155.52097809126317
        },
        {
          "ref": "C15",
          "formula": "=PO.VFP.Liq.Re(A15,VFP_RhoL,VFP_ID,VFP_UL)",
          "cached": 123663.10160427804
        },
        {
          "ref": "D15",
          "formula": "=PO.VFP.Liq.Pin(A15,VFP_Pwh,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough,VFP_Angle)",
          "cached": 3133.298755869041
        },
        {
          "ref": "A16",
          "value": 6000
        },
        {
          "ref": "B16",
          "formula": "=PO.VFP.Liq.dPfrc(A16,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough)",
          "cached": 219.71701905932414
        },
        {
          "ref": "C16",
          "formula": "=PO.VFP.Liq.Re(A16,VFP_RhoL,VFP_ID,VFP_UL)",
          "cached": 148395.72192513364
        },
        {
          "ref": "D16",
          "formula": "=PO.VFP.Liq.Pin(A16,VFP_Pwh,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough,VFP_Angle)",
          "cached": 3197.494796837102
        },
        {
          "ref": "A17",
          "value": 7000
        },
        {
          "ref": "B17",
          "formula": "=PO.VFP.Liq.dPfrc(A17,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough)",
          "cached": 294.69282782693733
        },
        {
          "ref": "C17",
          "formula": "=PO.VFP.Liq.Re(A17,VFP_RhoL,VFP_ID,VFP_UL)",
          "cached": 173128.34224598925
        },
        {
          "ref": "D17",
          "formula": "=PO.VFP.Liq.Pin(A17,VFP_Pwh,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough,VFP_Angle)",
          "cached": 3272.470605604715
        },
        {
          "ref": "A18",
          "value": 8000
        },
        {
          "ref": "B18",
          "formula": "=PO.VFP.Liq.dPfrc(A18,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough)",
          "cached": 380.4212809799936
        },
        {
          "ref": "C18",
          "formula": "=PO.VFP.Liq.Re(A18,VFP_RhoL,VFP_ID,VFP_UL)",
          "cached": 197860.96256684483
        },
        {
          "ref": "D18",
          "formula": "=PO.VFP.Liq.Pin(A18,VFP_Pwh,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough,VFP_Angle)",
          "cached": 3358.199058757771
        },
        {
          "ref": "A19",
          "value": 10000
        },
        {
          "ref": "B19",
          "formula": "=PO.VFP.Liq.dPfrc(A19,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough)",
          "cached": 584.0668367188092
        },
        {
          "ref": "C19",
          "formula": "=PO.VFP.Liq.Re(A19,VFP_RhoL,VFP_ID,VFP_UL)",
          "cached": 247326.20320855608
        },
        {
          "ref": "D19",
          "formula": "=PO.VFP.Liq.Pin(A19,VFP_Pwh,VFP_RhoL,VFP_UL,VFP_ID,VFP_Len,VFP_Rough,VFP_Angle)",
          "cached": 3561.844614496587
        }
      ]
    }
  ],
  "namedRanges": [
    {
      "name": "VFP_Angle",
      "refersTo": "Inputs!$B$13"
    },
    {
      "name": "VFP_ID",
      "refersTo": "Inputs!$B$10"
    },
    {
      "name": "VFP_Len",
      "refersTo": "Inputs!$B$11"
    },
    {
      "name": "VFP_Pwh",
      "refersTo": "Inputs!$B$21"
    },
    {
      "name": "VFP_Ql",
      "refersTo": "Inputs!$B$5"
    },
    {
      "name": "VFP_RhoL",
      "refersTo": "Inputs!$B$6"
    },
    {
      "name": "VFP_Rough",
      "refersTo": "Inputs!$B$12"
    },
    {
      "name": "VFP_UL",
      "refersTo": "Inputs!$B$7"
    }
  ],
  "namedLambdas": [],
  "charts": [
    {
      "sheet": "Rate Sensitivity",
      "type": "XYScatterLines",
      "title": "Friction Loss vs Rate",
      "series": [
        {
          "name": "dP Friction",
          "values": "'Rate Sensitivity'!$B$6:$B$19",
          "categories": "'Rate Sensitivity'!$A$6:$A$19"
        }
      ],
      "anchor": "A21",
      "endAnchor": "F39",
      "xAxis": {
        "title": "Rate (bbl/d)"
      },
      "yAxis": {
        "title": "dP (psi)"
      }
    },
    {
      "sheet": "Rate Sensitivity",
      "type": "XYScatterLines",
      "title": "Required BHP vs Rate (VFP Curve)",
      "series": [
        {
          "name": "BHP",
          "values": "'Rate Sensitivity'!$D$6:$D$19",
          "categories": "'Rate Sensitivity'!$A$6:$A$19"
        }
      ],
      "anchor": "A47",
      "endAnchor": "F65",
      "xAxis": {
        "title": "Rate (bbl/d)"
      },
      "yAxis": {
        "title": "BHP (psi)"
      }
    }
  ],
  "shapes": [],
  "pictures": [],
  "connectors": [],
  "conditionalFormats": [],
  "sparklineGroups": [],
  "functions": [
    "PO.VFP.Liq.Pin",
    "PO.VFP.Liq.Re",
    "PO.VFP.Liq.dPfrc",
    "PO.VFP.Liq.dPgrv"
  ]
}