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
-
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
-
Bar-screen head loss
The head lost through a bar screen.
h = β × (w ÷ b)^(4/3) × v² ÷ 2g × sin θ
Water treatment unit processes and sludge sizing process/env/water.js64-bit- CadCraft
- BimCraft
-
Ideal settling basin
The overflow rate and the fraction of particles removed.
v₀ = Q ÷ A; removal = min(1, vs ÷ v₀)
Water treatment unit processes and sludge sizing process/env/water.js64-bit- CadCraft
- BimCraft
-
Granular filter head loss
The head lost through a clean filter bed in laminar flow.
h = 180 × L × ν × (1 − ε)² × v ÷ (g × ε³ × d²)
Water treatment unit processes and sludge sizing process/env/water.js64-bit- CadCraft
- BimCraft
-
Disinfection survival
The fraction of organisms surviving a contact time, and the log removal.
s = exp(−k × Cⁿ × t); log removal = −log₁₀(s)
Water treatment unit processes and sludge sizing process/env/water.js64-bit- CadCraft
- BimCraft
-
Contact time for a log removal
The contact time needed to reach a wanted log removal.
t = log₁₀ removal × ln 10 ÷ (k × Cⁿ)
Water treatment unit processes and sludge sizing process/env/water.js64-bit- CadCraft
- BimCraft
-
Sludge retention time
The mass of sludge in the system divided by the mass leaving per day.
SRT = V × X ÷ (Qw × Xw + Qe × Xe)
Water treatment unit processes and sludge sizing process/env/water.js64-bit- CadCraft
- BimCraft
-
Tank footprints for the site plan
The plan area and the side of a square footprint for each tank.
area = V ÷ depth; side = √area
Water treatment unit processes and sludge sizing process/env/water.js64-bit- CadCraft
- BimCraft
-
Complete-mix tank sizing
Sludge production, tank volume, retention time, food-to-mass ratio and oxygen demand.
Px = Y × Q × (S₀ − S) ÷ (1 + kd × θc); V = θc × Px ÷ X; O₂ = Q × (S₀ − S) − 1.42 × Px
Water treatment unit processes and sludge sizing process/env/design.js64-bit- CadCraft
- BimCraft
-
Return sludge ratio
The return flow as a fraction of the plant flow.
Qr ÷ Q = (X − Xe) ÷ (Xr − X)
Water treatment unit processes and sludge sizing process/env/design.js64-bit- CadCraft
- BimCraft
-
Clarifier loadings
Surface overflow rate and solids loading of a clarifier.
overflow = Q ÷ A; solids = (Q + Qr) × X ÷ 1000 ÷ A ÷ 24
Water treatment unit processes and sludge sizing process/env/design.js64-bit- CadCraft
- BimCraft
-
Reading to SI units
Converts a temperature, pressure, flow or length reading to SI, including gauge pressures.
K = °C + 273.15; K = (°F − 32) × 5 ÷ 9 + 273.15; Pa = gauge × factor + atmosphere; else value × factor
Plant readings: units, comparison and trends process/env/historian.js64-bit- CadCraft
- BimCraft
-
Marker text
The value shown next to a tag on the diagram and the 3D model.
Plant readings: units, comparison and trends process/env/historian.js64-bit- CadCraft
- BimCraft
-
Plant against model
How far each plant reading is from the value the model gives.
deviation = (plant − model) ÷ |model| (÷ 1 when the model value is 0)
Plant readings: units, comparison and trends process/env/historian.js64-bit- CadCraft
- BimCraft
-
Trend thinning
Reduces a long series to at most a given number of points for plotting, keeping its shape.
per bucket: keep the sample with the largest triangle area against the previous kept point and the next bucket's mean
Plant readings: units, comparison and trends process/env/historian.js64-bit- CadCraft
- BimCraft
-
Series summary
Count, minimum, maximum, mean and standard deviation of a series.
mean = Σ v ÷ n; sd = √(Σ (v − mean)² ÷ n)
Plant readings: units, comparison and trends process/env/historian.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
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.