Resources Numerical accuracy

Calculations

Every calculation under our calculation policies: what it works out, its formula and the precision it runs at. Open one to see its code as it is in the released app.

  • 6,917 calculations in 1,248 source files
  • 143 exact
  • 6,286 in 64-bit
  • 335 with a 32-bit step
  • Last reviewed

Calculations

  • Ideal tube-bank j and f

    The heat-transfer and friction factors of an ideal tube bank from the pack's coefficients.

    j = a₁ × (1.33 ÷ (p/d_o))^a × Re^a₂, a = a₃ ÷ (1 + 0.14·Re^a₄)

    Heat exchanger rating process/equip/bell.js
    • CadCraft
    • BimCraft
    64-bit
  • Bell-Delaware correction factors

    The five factors that correct the ideal coefficient for baffle cut, leakage and bypass.

    Jc = c₀ + c₁·Fc; Jl = p₁(1 − rs) + (1 − p₁(1 − rs))·e^(−p₂·rlm); Jb = e^(−Cb·Fbp·(1 − ∛(2·Nss⁺)))

    Heat exchanger rating process/equip/bell.js
    • CadCraft
    • BimCraft
    64-bit
  • Shell-side coefficient (Bell-Delaware)

    The shell-side film coefficient from the ideal bank value and the correction factors.

    h = j × cp × G × Pr^(−2/3) × Jc·Jl·Jb·Js·Jr

    Heat exchanger rating process/equip/bell.js
    • CadCraft
    • BimCraft
    64-bit
  • Shells in series

    The overall effectiveness of several identical shells in series.

    z = ((1 − ε₁·Cr) ÷ (1 − ε₁))ⁿ; ε = (z − 1) ÷ (z − Cr)

    Heat exchanger rating process/equip/bell.js
    • CadCraft
    • BimCraft
    64-bit
  • Tube sheet as drawing entities

    The shell circle, tube circles and pass lane placed in a drawing.

    drawing value = layout value (m) × scale

    Heat exchanger rating process/equip/bell.js
    • CadCraft
    • BimCraft
    64-bit
  • Pump curve fit

    The quadratic head-flow curve through two or three points a person gives.

    H = c₀ + c₁·Q + c₂·Q²; two points: k = (h₁ − h₂) ÷ (q₂² − q₁²)

    Piping network, pumps and compressors process/equip/network.js
    • CadCraft
    • BimCraft
    64-bit
  • Net positive suction head available

    The suction head available at a pump above the vapor pressure.

    NPSHa = (P − Pv) ÷ (ρ·g) + z − h_loss

    Piping network, pumps and compressors process/equip/network.js
    • CadCraft
    • BimCraft
    64-bit
  • Polytropic head

    The polytropic head and specific power of gas compression.

    Hp = n ÷ (n − 1) × Z·R·T ÷ M × ((P₂ ÷ P₁)^((n−1)/n) − 1)

    Piping network, pumps and compressors process/equip/network.js
    • CadCraft
    • BimCraft
    64-bit
  • Surge margin

    How far a compressor's operating flow is from the surge line at its head.

    margin = (Q − Q_surge(H)) ÷ Q_surge(H)

    Piping network, pumps and compressors process/equip/network.js
    • CadCraft
    • BimCraft
    64-bit
  • Greitzer B parameter

    A number that indicates whether a compression system tends to surge or stall.

    B = U ÷ (2·a_s) × √(Vp ÷ (Ac·Lc))

    Piping network, pumps and compressors process/equip/network.js
    • CadCraft
    • BimCraft
    64-bit
  • Control valve Kv at an opening

    The flow coefficient of a control valve at a given opening.

    equal percentage: Kv = Kvs × R^(x − 1); linear: Kvs × x; quick opening: Kvs × √x

    Piping network, pumps and compressors process/equip/network.js
    • CadCraft
    • BimCraft
    64-bit
  • Head loss of a link

    The head (or pressure-squared) loss of a pipe, pump, valve or control valve at a flow, and its slope.

    liquid: h = (f·L ÷ D + K) × Q·|Q| ÷ (2g·A²); gas: P₁² − P₂² = (Z·R·T ÷ M)(W ÷ A)²·(f·L ÷ D + K + 2·ln(P₁ ÷ P₂))

    Piping network, pumps and compressors process/equip/network.js
    • CadCraft
    • BimCraft
    64-bit
  • Network iteration

    Finds the head at every free node and the flow in every link.

    each pass: Q = c₀ + g·(H_a − H_b), g = 1 ÷ (dh/dQ); solve Σ g·(H_i − H_n) = −demand ± c₀

    Piping network, pumps and compressors process/equip/network.js
    • CadCraft
    • BimCraft
    64-bit
  • Node pressures and link results

    Pressure at each node and flow, mass flow, velocity and pressure drop of each link.

    liquid: P = (H − z)·ρ·g; gas: P = √(P²); v = Q ÷ A

    Piping network, pumps and compressors process/equip/network.js
    • CadCraft
    • BimCraft
    64-bit
  • Compressor head, power and outlet temperature

    Isentropic and polytropic head, both efficiencies, shaft work, power and discharge temperature.

    Hs = (Z·R·T₁ ÷ M) × (k ÷ (k − 1)) × (r^((k−1)/k) − 1); Hp = (Z·R·T₁ ÷ M) ÷ m × (r^m − 1); T₂ = T₁·r^m

    Piping network, pumps and compressors process/equip/compressor.js
    • CadCraft
    • BimCraft
    64-bit
  • Operating point against the surge line

    The surge margin of a compressor run, with the head converted to the unit of the map.

    H(m) = Hp ÷ g

    Piping network, pumps and compressors process/equip/compressor.js
    • CadCraft
    • BimCraft
    64-bit
  • Pressure wave speed

    The speed of a pressure wave in a liquid inside an elastic pipe.

    a = √((K ÷ ρ) ÷ (1 + (K·D ÷ E·e)·c₁))

    Water hammer and pump trip process/equip/network.js
    • CadCraft
    • BimCraft
    64-bit
  • Joukowsky pressure rise

    The pressure rise for an instant change of velocity.

    ΔP = ρ × a × ΔV

    Water hammer and pump trip process/equip/network.js
    • CadCraft
    • BimCraft
    64-bit
  • Valve closure transient

    Head and flow at the valve over time, and the highest and lowest head, when a valve at the end of a pipe opens or closes.

    H_P = (C⁺ + C⁻) ÷ 2; Q_P = (C⁺ − C⁻) ÷ 2B; valve: q = (−B·c + √(B²c² + 4c·C⁺)) ÷ 2

    Water hammer and pump trip process/equip/network.js
    • CadCraft
    • BimCraft
    64-bit
  • Fitting loss, 2-K form

    The loss coefficient of a fitting from its two constants, the Reynolds number and the pipe diameter in inches.

    K = K₁ ÷ Re + K∞ × (1 + 1 ÷ D)

    Water hammer and pump trip process/equip/transient.js
    • CadCraft
    • BimCraft
    64-bit
  • Fitting loss, 3-K form

    The loss coefficient of a fitting from its three constants.

    K = K₁ ÷ Re + Kᵢ × (1 + K_d ÷ D^0.3)

    Water hammer and pump trip process/equip/transient.js
    • CadCraft
    • BimCraft
    64-bit
  • Pump trip transient

    Head, flow and pump speed over time after a pump loses power, and when the check valve closes.

    H = α²·h(Q ÷ α), α = ω ÷ ω₀; I·dω/dt = −ρ·g·Q·H ÷ (η·ω)

    Water hammer and pump trip process/equip/transient.js
    • CadCraft
    • BimCraft
    64-bit
  • Pipe section properties

    Metal area, second moment of area, torsion constant and section modulus of a pipe.

    A = π(D² − d²) ÷ 4; I = π(D⁴ − d⁴) ÷ 64; J = 2I; Z = I ÷ (D ÷ 2)

    Pipe stress checks process/equip/pipestress.js
    • CadCraft
    • BimCraft
    64-bit
  • Tee stress intensification

    The stress intensification factors of a welding, reinforced or unreinforced tee.

    i_o = max(0.9 ÷ h^(2/3), 1); i_i = max(0.75·i_o + 0.25, 1); welding tee h = 4.4·T ÷ r

    Pipe stress checks process/equip/pipestress.js
    • CadCraft
    • BimCraft
    64-bit
  • Bend stress intensification and flexibility

    The flexibility characteristic, stress intensification factors and flexibility factor of a bend.

    h = t·R₁ ÷ r²; i_i = 0.9 ÷ h^(2/3); i_o = 0.75 ÷ h^(2/3); k = 1.65 ÷ h

    Pipe stress checks process/equip/pipestress.js
    • CadCraft
    • BimCraft
    64-bit
  • Bend tangent points

    Replaces each corner of the run by the two tangent points of a bend of the given radius.

    θ = acos(u₁ · u₂); tangent length a = R₁ × tan(θ ÷ 2)

    Pipe stress checks process/equip/pipestress.js
    • CadCraft
    • BimCraft
    64-bit
  • Node stations along the run

    Places a node at every corner, support and tee by its distance along the run.

    s = Σ segment lengths; key = s rounded to 0.001 mm; point = a + f × (b − a)

    Pipe stress checks process/equip/pipestress.js
    • CadCraft
    • BimCraft
    64-bit
  • Weight and thermal loads

    The contents and insulation weight per length and the forces that represent free thermal expansion.

    w = ρ_c × 10⁻⁹ × (π ÷ 4)·d² × g + (kg/m ÷ 1000) × g; F = E × A × α × ΔT

    Pipe stress checks process/equip/pipestress.js
    • CadCraft
    • BimCraft
    64-bit
  • Stress at each node

    The bending, torsion and axial stress at each node for the sustained, expansion and occasional cases.

    expansion: S_E = √(S_b² + 4·S_t²), S_b = √((i_i·M_i)² + (i_o·M_o)²) ÷ Z, S_t = T ÷ 2Z; M_i = √(M_b² − M_o²)

    Pipe stress checks process/equip/pipestress.js
    • CadCraft
    • BimCraft
    64-bit
  • Stress ratios against the allowables

    Sustained, expansion and occasional stress as a fraction of what is allowed.

    S_L = bending + P·D ÷ 4t; S_A = f·(1.25·S_c + 0.25·S_h) + max(0, S_h − S_L); occasional limit 1.33·S_h

    Pipe stress checks process/equip/pipestress.js
    • CadCraft
    • BimCraft
    64-bit
  • Free thermal growth

    How much the developed length of the run would grow if it were free.

    growth = ΔT × α × (s_last − s_first)

    Pipe stress checks process/equip/pipestress.js
    • CadCraft
    • BimCraft
    64-bit
  • Support lift-off and friction

    Releases rests that would have to pull the pipe down and applies sliding friction at the rests that stay in contact.

    release when R_z(weight) + R_z(thermal) < −10⁻⁶ N; F = −µ·N·(u ÷ |u|), relaxed by 0.6 per pass

    Pipe stress checks process/equip/pipestress.js
    • CadCraft
    • BimCraft
    64-bit
  • Nozzle loads

    The force and moment a support passes to the equipment, with a check against a limit.

    F = √(Fx² + Fy² + Fz²); M = √(Mx² + My² + Mz²)

    Pipe stress checks process/equip/pipestress.js
    • CadCraft
    • BimCraft
    64-bit
  • Fire coefficient in SI units

    Converts the pool-fire coefficient from Btu/h per ft^1.64 to W per m^1.64.

    C_SI = C_US × 0.29307107 × (1 ÷ 0.3048²)^0.82

    Relief valve sizing, depressuring and flare loads process/equip/relief.js
    • CadCraft
    • BimCraft
    64-bit
  • Gas and vapor orifice area

    The orifice area a relief valve needs for a gas or vapor flow.

    A = W ÷ (Kd·Kb·Kc × G); critical: G = P₁·√(k·M ÷ Z·R·T) × (2 ÷ (k + 1))^((k+1)/(2(k−1)))

    Relief valve sizing, depressuring and flare loads process/equip/relief.js
    • CadCraft
    • BimCraft
    64-bit
  • Liquid orifice area

    The orifice area for a liquid flow, with the viscosity correction.

    A = Q ÷ (Kd·Kw·Kc·Kv) × √(ρ ÷ 2ΔP); Kv = 1 ÷ (0.9935 + 2.878 ÷ √Re + 342.75 ÷ Re^1.5)

    Relief valve sizing, depressuring and flare loads process/equip/relief.js
    • CadCraft
    • BimCraft
    64-bit
  • Critical pressure ratio, omega method

    The pressure ratio at which a flashing two-phase flow chokes.

    η² + (ω² − 2ω)(1 − η)² + 2ω²·ln η + 2ω²(1 − η) = 0

    Relief valve sizing, depressuring and flare loads process/equip/relief.js
    • CadCraft
    • BimCraft
    64-bit
  • Two-phase mass flux

    The mass flux of a flashing mixture through a nozzle.

    G = √(P₀·ρ₀) × √(2[ω·ln(1 ÷ η) − (ω − 1)(1 − η)]) ÷ (ω(1 ÷ η − 1) + 1)

    Relief valve sizing, depressuring and flare loads process/equip/relief.js
    • CadCraft
    • BimCraft
    64-bit
  • Fire heat input

    The heat a wetted vessel absorbs in a pool fire.

    Q = C × F × A^0.82

    Relief valve sizing, depressuring and flare loads process/equip/relief.js
    • CadCraft
    • BimCraft
    64-bit
  • Wetted surface of a vessel

    The vessel surface in contact with liquid up to the fire height.

    vertical: π·D·level + k·D²; horizontal: r·θ·L + 2k·D²·(h ÷ D), θ = 2·acos(1 − h ÷ r)

    Relief valve sizing, depressuring and flare loads process/equip/relief.js
    • CadCraft
    • BimCraft
    64-bit
  • Tube rupture flow

    The flow through broken tube ends from the high-pressure side to the low-pressure side.

    Q = Cd × A × √(2(P_h − P_l) ÷ ρ), A = n × π·d² ÷ 4

    Relief valve sizing, depressuring and flare loads process/equip/relief.js
    • CadCraft
    • BimCraft
    64-bit
  • Standard orifice letter

    The smallest standard orifice whose area covers the required area.

    in² = m² ÷ 0.0254²

    Relief valve sizing, depressuring and flare loads process/equip/relief.js
    • CadCraft
    • BimCraft
    64-bit
  • Flare radiation distance

    The distance from a flare at which the heat flux falls to an allowable level.

    D = √(τ·F·Q ÷ (4π·K))

    Relief valve sizing, depressuring and flare loads process/equip/relief.js
    • CadCraft
    • BimCraft
    64-bit
  • Flare header back pressure

    The back pressure at each relief valve as a fraction of its set pressure.

    fraction = (P_back − 101325) ÷ P_set

    Relief valve sizing, depressuring and flare loads process/equip/relief.js
    • CadCraft
    • BimCraft
    64-bit
  • Steam orifice area

    The orifice area for steam relief.

    A[in²] = W[lb/h] ÷ (51.5 × P₁[psia] × Kd·Kb·Kc·Kn·Ksh)

    Relief valve sizing, depressuring and flare loads process/equip/relief.js
    • CadCraft
    • BimCraft
    64-bit
  • Discharge reaction force

    The thrust on a valve outlet discharging a sonic gas jet to the atmosphere.

    F = W·v + (P_e − P_a)·A_e; v = √(2k·Z·R·T ÷ ((k + 1)·M))

    Relief valve sizing, depressuring and flare loads process/equip/relief.js
    • CadCraft
    • BimCraft
    64-bit
  • Outlet line back pressure

    The pressure at the valve outlet for a gas flow through the discharge pipe, and the exit Mach number.

    P₁² − P₂² = (G²·Z·R·T ÷ M) × (f·L ÷ D + K + 2·ln(P₁ ÷ P₂))

    Relief valve sizing, depressuring and flare loads process/equip/relief.js
    • CadCraft
    • BimCraft
    64-bit
  • Vessel depressuring curve

    Pressure, temperature and vent flow of a gas-filled vessel over time as it is vented, and the time to reach a target pressure.

    dm/dt = −ṁ; m·cv·dT/dt = Q − ṁ·Rs·T; P = m·Rs·T ÷ V

    Relief valve sizing, depressuring and flare loads process/equip/relief2.js
    • CadCraft
    • BimCraft
    64-bit
  • Control valve failure load

    The relief load when a control valve fails open, less the normal flow.

    liquid: Q[m³/h] = Kv × √(ΔP[bar] ÷ SG), ṁ = Q ÷ 3600 × SG × ρ_w; load = max(flow − normal, 0)

    Relief valve sizing, depressuring and flare loads process/equip/relief2.js
    • CadCraft
    • BimCraft
    64-bit
  • Header load per case

    The total load on each flare header for each case, and the governing case.

    load = Σ device loads of the scenarios in the case; governing = largest load

    Relief valve sizing, depressuring and flare loads process/equip/relief2.js
    • CadCraft
    • BimCraft
    64-bit

A calculation is added only after its source was read. Each statement can be checked in the code shown on its policy's page; the app repositories are public. When a release changes a calculation, its page says so until it has been read again.