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

  • 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
  • Head outline

    The outline of a hemispherical, ellipsoidal or torispherical head from the axis to the tangent line.

    ellipsoidal: (R·cos a, (R ÷ ratio)·sin a), a from π ÷ 2 to 0 in n steps

    Vessel outline and inside volume process/equip/vessel2.js
    • CadCraft
    • BimCraft
    64-bit
  • Torispherical head outline

    The crown and knuckle arcs of a torispherical head and where they join.

    c = R − r_k; dz = √((R_c − r_k)² − c²); junction angle = atan2(dz, c)

    Vessel outline and inside volume process/equip/vessel2.js
    • CadCraft
    • BimCraft
    64-bit
  • Vessel outline, height and volume

    The full inside outline with both heads, the overall height and the inside volume.

    V = Σ π·(r₁² + r₁·r₂ + r₂²) ÷ 3 × (z₂ − z₁); m³ = mm³ × 10⁻⁹

    Vessel outline and inside volume process/equip/vessel2.js
    • CadCraft
    • BimCraft
    64-bit
  • Nozzle position on the body

    The position and axis of a nozzle on the shell or on a head.

    position = (R·cos φ, R·sin φ, z_tangent + at)

    Vessel outline and inside volume process/equip/vessel2.js
    • CadCraft
    • BimCraft
    64-bit
  • Liquid release through a hole

    The mass flow and exit velocity of a liquid leaving through a hole.

    v = √(2ΔP ÷ ρ + 2g·h); ṁ = Cd × A × ρ × v

    Release, fire, explosion and toxic screening process/safety/consequence.js
    • CadCraft
    • BimCraft
    64-bit
  • Gas release through a hole

    The mass flow of a gas leaving through a hole, choked or not.

    choked: ṁ = Cd·A·P₀·√(k·M ÷ (Z·R·T) × (2 ÷ (k + 1))^((k+1)/(k−1)))

    Release, fire, explosion and toxic screening process/safety/consequence.js
    • CadCraft
    • BimCraft
    64-bit
  • Flash fraction

    The fraction of a pressurized liquid that turns to vapor on release.

    F = 1 − exp(−cp·(T − T_b) ÷ h_fg)

    Release, fire, explosion and toxic screening process/safety/consequence.js
    • CadCraft
    • BimCraft
    64-bit
  • Pool evaporation rate

    The evaporation rate from a liquid pool in wind.

    k_g = 0.004786 × U^0.78 × d^(−0.11) × Sc^(−0.67); ṁ = k_g × A × M × P_v ÷ (R·T)

    Release, fire, explosion and toxic screening process/safety/consequence.js
    • CadCraft
    • BimCraft
    64-bit
  • Radiation distance from a point source

    The distance at which the heat flux from a fire falls to a given level.

    r = √(τ·χ·Q ÷ (4π·q))

    Release, fire, explosion and toxic screening process/safety/consequence.js
    • CadCraft
    • BimCraft
    64-bit
  • Pool fire

    Flame height, heat release and ground distances to each flux level for a burning pool.

    H = 42·D × (m″ ÷ (ρ_a·√(g·D)))^0.61; ground = √(r² − (H ÷ 2)²)

    Release, fire, explosion and toxic screening process/safety/consequence.js
    • CadCraft
    • BimCraft
    64-bit
  • TNT-equivalent mass

    The mass of TNT with the same explosion energy as the fuel.

    W = η × m × ΔH_c ÷ E_TNT

    Release, fire, explosion and toxic screening process/safety/consequence.js
    • CadCraft
    • BimCraft
    64-bit
  • Blast overpressure

    The side-on overpressure at a distance from a TNT charge.

    Z = R ÷ ∛W; P ÷ P_a = 808·(1 + (Z ÷ 4.5)²) ÷ √((1 + (Z ÷ 0.048)²)(1 + (Z ÷ 0.32)²)(1 + (Z ÷ 1.35)²))

    Release, fire, explosion and toxic screening process/safety/consequence.js
    • CadCraft
    • BimCraft
    64-bit
  • Distance to an overpressure

    The distance at which the blast overpressure falls to a given level.

    Release, fire, explosion and toxic screening process/safety/consequence.js
    • CadCraft
    • BimCraft
    64-bit
  • Probit of a dose

    The probit value for a concentration and exposure time.

    Pr = a + b × ln(Cⁿ × t)

    Release, fire, explosion and toxic screening process/safety/consequence.js
    • CadCraft
    • BimCraft
    64-bit
  • Error function

    The error function used to turn a probit into a probability.

    erf(x) ≈ 1 − (a₁t + a₂t² + a₃t³ + a₄t⁴ + a₅t⁵)·e^(−x²), t = 1 ÷ (1 + 0.3275911·|x|)

    Release, fire, explosion and toxic screening process/safety/consequence.js
    • CadCraft
    • BimCraft
    64-bit
  • Probability from a probit

    The probability that corresponds to a probit value.

    P = ½ × (1 + erf((Pr − 5) ÷ √2))

    Release, fire, explosion and toxic screening process/safety/consequence.js
    • CadCraft
    • BimCraft
    64-bit
  • Blast curve interpolation

    Reads a scaled overpressure or duration from the curve points a person typed.

    ln y = ln y₀ + (ln y₁ − ln y₀) × (ln R − ln R₀) ÷ (ln R₁ − ln R₀)

    Release, fire, explosion and toxic screening process/safety/blast.js
    • CadCraft
    • BimCraft
    64-bit
  • Sachs scaling length

    The length that scales distances for an explosion of a given energy.

    L = ∛(E ÷ P₀)

    Release, fire, explosion and toxic screening process/safety/blast.js
    • CadCraft
    • BimCraft
    64-bit
  • Multi-energy overpressure

    The overpressure and positive duration at a distance from a blast source of given energy and strength.

    R̄ = R ÷ L; ΔP = P̄(R̄) × P₀; duration = t̄(R̄) × L ÷ 340

    Release, fire, explosion and toxic screening process/safety/blast.js
    • CadCraft
    • BimCraft
    64-bit
  • Distance to a multi-energy overpressure

    The distance at which the overpressure of a blast source falls to a given level.

    Release, fire, explosion and toxic screening process/safety/blast.js
    • CadCraft
    • BimCraft
    64-bit
  • Overpressure from several sources

    The overpressure at a point from each blast source and which one governs.

    E = volume × energy density; R = max(distance, 0.01 m)

    Release, fire, explosion and toxic screening process/safety/blast.js
    • CadCraft
    • BimCraft
    64-bit
  • Blast contour circles

    Circles on the site plan at given overpressure levels.

    Release, fire, explosion and toxic screening process/safety/blast.js
    • CadCraft
    • BimCraft
    64-bit
  • Heavy-gas cloud spreading

    Radius, height, concentration and drift of a dense gas cloud over time, and when it dilutes to a given concentration.

    dR/dt = Cg·√(g′·H); dV/dt = π·R²·a_top·u* + 2π·R·H·a_edge·dR/dt; g′ = g·(ρ − ρ_a) ÷ ρ_a

    Release, fire, explosion and toxic screening process/safety/heavygas.js
    • CadCraft
    • BimCraft
    64-bit
  • Dilution flow, volume and radius

    The ventilation flow needed to dilute a release, the hypothetical flammable volume and the radius of a sphere of that volume.

    LFL_m = LFL × M × P ÷ (R·T); Q_min = rate ÷ (k × LFL_m) × (T ÷ 293); V_z = f × Q_min ÷ C; r = ∛(3V_z ÷ 4π)

    Hazardous area extents and zone geometry process/safety/area.js
    • CadCraft
    • BimCraft
    64-bit
  • Zone extent and shape

    The extent of each zone and its shape: a sphere, or a ground-to-top cylinder for a heavy vapor.

    sphere: center (x, y, z), radius r; cylinder: z from 0 to z + r

    Hazardous area extents and zone geometry process/safety/area.js
    • CadCraft
    • BimCraft
    64-bit
  • Zone sections

    The outline of each zone where a vertical plane cuts it.

    half-width = √(r² − d²)

    Hazardous area extents and zone geometry process/safety/area.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.