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.
Calculations
-
Contours for a site plan
The contour polygon of each concentration level for one wind condition, in site coordinates.
angle = 90 − ((dirFrom + 180) mod 360); C_end = level × 10⁻⁶
Stack plume rise and air dispersion screening process/env/dispersion.js64-bit- CadCraft
- BimCraft
-
Comparison with a limits pack
Whether a result is above, or within 80 % of, the limit a person typed for that pollutant and averaging time.
fraction = c ÷ limit
Stack plume rise and air dispersion screening process/env/dispersion.js64-bit- CadCraft
- BimCraft
-
Contours as drawing entities
The contour polylines, stack marker, wind arrow and labels placed in a drawing.
drawing point = site point × scale
Stack plume rise and air dispersion screening process/env/plumedraw.js64-bit- CadCraft
- BimCraft
-
Stoichiometric matrix
The 8 by 13 table of how much of each component each process makes or uses.
Activated sludge plant steady state (ASM1) process/env/water.js64-bit- CadCraft
- BimCraft
-
Process rates
The rate of each of the 8 biological processes at given concentrations.
r₁ = µH × SS ÷ (KS + SS) × SO ÷ (KOH + SO) × XBH (and seven more Monod products)
Activated sludge plant steady state (ASM1) process/env/water.js64-bit- CadCraft
- BimCraft
-
Reaction rate of each component
The net production of each of the 13 components from the 8 process rates.
dcₖ/dt = Σⱼ νⱼₖ × ρⱼ
Activated sludge plant steady state (ASM1) process/env/water.js64-bit- CadCraft
- BimCraft
-
Clarifier split
The effluent and underflow concentrations from the clarifier feed and the capture fraction a person gives.
eff = (1 − capture) × c; und = (Qc × c − Qe × eff) ÷ Qu
Activated sludge plant steady state (ASM1) process/env/water.js64-bit- CadCraft
- BimCraft
-
Tank mass balances
The rate of change of every component in every tank: flow in and out, reaction and aeration.
dc/dt = (Σ Q_in × c_in − Q × c) ÷ V + Σⱼ νⱼ × ρⱼ + KLa × (SO_sat − SO)
Activated sludge plant steady state (ASM1) process/env/water.js64-bit- CadCraft
- BimCraft
-
Steady-state iteration
Advances the plant state with implicit steps until nothing changes any more.
(I ÷ h − J) × Δy = F(y); stop when max |Fᵢ| ÷ (|yᵢ| + 1) < tol
Activated sludge plant steady state (ASM1) process/env/water.js64-bit- CadCraft
- BimCraft
-
COD, nitrogen and oxygen balances, sludge age
Checks that what enters the plant equals what leaves plus what reacts, and gives the sludge retention time.
residual = in − out + reaction; rel = residual ÷ (|in| + 10⁻¹²); SRT = Σ V × solids ÷ (Qw × Xw + Qe × Xe)
Activated sludge plant steady state (ASM1) process/env/water.js64-bit- CadCraft
- BimCraft
-
Oxygen used and supplied
The oxygen the reactions use next to what the aerators supply, in kg per day.
kg/d = g/d ÷ 1000
Activated sludge plant steady state (ASM1) process/env/water.js64-bit- CadCraft
- BimCraft
-
Log-mean temperature difference
The mean driving temperature difference of a counter-current exchanger.
ΔT_lm = (ΔT₁ − ΔT₂) ÷ ln(ΔT₁ ÷ ΔT₂)
Heat exchanger rating process/equip/exchanger.js64-bit- CadCraft
- BimCraft
-
LMTD correction factor
The correction for one shell pass with an even number of tube passes.
F = [S ÷ (R − 1)] × ln((1 − P) ÷ (1 − R·P)) ÷ ln((2 − P(R + 1 − S)) ÷ (2 − P(R + 1 + S))), S = √(R² + 1)
Heat exchanger rating process/equip/exchanger.js64-bit- CadCraft
- BimCraft
-
Effectiveness from NTU
The fraction of the largest possible heat transfer an exchanger of a given type achieves.
counter: ε = (1 − e^(−NTU(1 − Cr))) ÷ (1 − Cr·e^(−NTU(1 − Cr))); Cr → 0: ε = 1 − e^(−NTU)
Heat exchanger rating process/equip/exchanger.js64-bit- CadCraft
- BimCraft
-
NTU for a wanted effectiveness
The size (NTU) an exchanger needs to reach a given effectiveness.
Heat exchanger rating process/equip/exchanger.js64-bit- CadCraft
- BimCraft
-
Duty and outlet temperatures from UA
The heat duty and both outlet temperatures of an exchanger of known UA.
Q = ε × C_min × (T_h,in − T_c,in); T_h,out = T_h,in − Q ÷ C_h; T_c,out = T_c,in + Q ÷ C_c
Heat exchanger rating process/equip/exchanger.js64-bit- CadCraft
- BimCraft
-
Tube-side film coefficient
The heat-transfer coefficient and friction factor inside the tubes.
f = (0.79·ln Re − 1.64)⁻²; Nu = (f/8)(Re − 1000)·Pr ÷ (1 + 12.7·√(f/8)·(Pr^(2/3) − 1))
Heat exchanger rating process/equip/exchanger.js64-bit- CadCraft
- BimCraft
-
Overall heat-transfer coefficient
The overall coefficient referred to the outside tube area, from both films, the wall and fouling.
1 ÷ U = 1 ÷ h_o + R_fo + d_o·ln(d_o ÷ d_i) ÷ 2k_w + R_fi·d_o ÷ d_i + d_o ÷ (d_i·h_i)
Heat exchanger rating process/equip/exchanger.js64-bit- CadCraft
- BimCraft
-
Shell-side coefficient and pressure drop (Kern)
The film coefficient and pressure drop on the shell side by Kern's screening method.
h = 0.36·(k ÷ De)·Re^0.55·Pr^(1/3)·φ; ΔP = f·Gs²·Ds·(Nb + 1) ÷ (2ρ·De·φ); f = exp(0.576 − 0.19·ln Re)
Heat exchanger rating process/equip/exchanger.js64-bit- CadCraft
- BimCraft
-
Tube layout and count
The position of every tube inside the shell and how many fit.
x = i × pitch (+ pitch ÷ 2 on odd triangular rows); y = j × pitch × √3 ÷ 2; kept when x² + y² ≤ R²
Heat exchanger rating process/equip/exchanger.js64-bit- CadCraft
- BimCraft
-
Shell-and-tube rating
Duty, mean temperature difference, overall coefficient, required and provided area, overdesign and pressure drops.
A_req = Q ÷ (U × F × ΔT_lm); A_prov = n × π × d_o × L; overdesign = A_prov ÷ A_req − 1
Heat exchanger rating process/equip/exchanger.js64-bit- CadCraft
- BimCraft
-
Plate exchanger rating
Film coefficients, overall coefficient, duty and outlet temperatures of a plate exchanger.
Nu = C × Reⁿ × Pr^(1/3); U = 1 ÷ (1 ÷ h_h + 1 ÷ h_c + t ÷ k_w + R_f)
Heat exchanger rating process/equip/exchanger.js64-bit- CadCraft
- BimCraft
-
Tube vibration screening
The natural frequency of a tube span, the vortex-shedding frequency and the critical gap velocity.
f_n = (π ÷ 2) × √(E·I ÷ (m·L⁴)); I = π(d_o⁴ − d_i⁴) ÷ 64; V_c = K·f_n·d_o·√(2π·ζ·m ÷ (ρ·d_o²))
Heat exchanger rating process/equip/exchanger.js64-bit- CadCraft
- BimCraft
-
Baffled shell geometry
Cross-flow area, leakage and bypass areas and the fraction of tubes in cross flow.
Sm = B·[(Ds − Dotl) + (Dotl − d_o)(p − d_o) ÷ p]; Fc = [π + 2x·sin(acos x) − 2·acos x] ÷ π
Heat exchanger rating process/equip/bell.js64-bit- CadCraft
- BimCraft
-
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.js64-bit- CadCraft
- BimCraft
-
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.js64-bit- CadCraft
- BimCraft
-
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.js64-bit- CadCraft
- BimCraft
-
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.js64-bit- CadCraft
- BimCraft
-
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.js64-bit- CadCraft
- BimCraft
-
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.js64-bit- CadCraft
- BimCraft
-
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.js64-bit- CadCraft
- BimCraft
-
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.js64-bit- CadCraft
- BimCraft
-
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.js64-bit- CadCraft
- BimCraft
-
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.js64-bit- CadCraft
- BimCraft
-
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.js64-bit- CadCraft
- BimCraft
-
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.js64-bit- CadCraft
- BimCraft
-
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.js64-bit- CadCraft
- BimCraft
-
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.js64-bit- CadCraft
- BimCraft
-
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.js64-bit- CadCraft
- BimCraft
-
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.js64-bit- CadCraft
- BimCraft
-
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.js64-bit- CadCraft
- BimCraft
-
Joukowsky pressure rise
The pressure rise for an instant change of velocity.
ΔP = ρ × a × ΔV
Water hammer and pump trip process/equip/network.js64-bit- CadCraft
- BimCraft
-
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.js64-bit- CadCraft
- BimCraft
-
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.js64-bit- CadCraft
- BimCraft
-
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.js64-bit- CadCraft
- BimCraft
-
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.js64-bit- CadCraft
- BimCraft
-
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.js64-bit- CadCraft
- BimCraft
-
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.js64-bit- CadCraft
- BimCraft
-
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.js64-bit- CadCraft
- BimCraft
-
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.js64-bit- CadCraft
- BimCraft
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.