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
-
Coordinate rounding
A coordinate or label value rounded for the drawing.
f(v) = +v.toFixed(3); 0 when v is not finite
Process diagram entities process/draw.js64-bit- CadCraft
- BimCraft
-
Stream label
The text under a stream arrow: its name, temperature in degrees Celsius and pressure in bar.
T (°C) = T − 273.15; P (bar) = P ÷ 1e5; both to 3 decimals
Process diagram entities process/draw.js64-bit- CadCraft
- BimCraft
-
Point inside a node boundary
Whether a tag or line label lies inside a hazard study node's region.
count the sides whose ends straddle the point's height and cross to its right; inside when the count is odd
Process diagram entities process/draw.js64-bit- CadCraft
- BimCraft
-
Controller faceplate numbers
The set point, measurement, output and error a controller faceplate shows from a simulation.
error = set point − last measurement
Process diagram entities process/draw.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
-
Cylindrical shell thickness
The required thickness of a cylindrical shell under internal pressure.
t_circ = P·R ÷ (S·E − 0.6P); t_long = P·R ÷ (2S·E + 0.4P); t = larger of the two
Pressure vessel thickness and support formulas process/equip/vessel.js64-bit- CadCraft
- BimCraft
-
Formed head thickness
The required thickness of an ellipsoidal, torispherical or hemispherical head.
ellipsoidal: t = P·D·K ÷ (2S·E − 0.2P), K = (2 + (D ÷ 2h)²) ÷ 6; torispherical: t = P·L·M ÷ (2S·E − 0.2P), M = (3 + √(L ÷ r)) ÷ 4
Pressure vessel thickness and support formulas process/equip/vessel.js64-bit- CadCraft
- BimCraft
-
Conical section thickness
The required thickness of a cone.
t = P·D ÷ (2·cos α × (S·E − 0.6P))
Pressure vessel thickness and support formulas process/equip/vessel.js64-bit- CadCraft
- BimCraft
-
Maximum allowable working pressure
The pressure a shell of given thickness may carry.
P_c = S·E·t ÷ (R + 0.6t); P_l = 2S·E·t ÷ (R − 0.4t); P = smaller of the two
Pressure vessel thickness and support formulas process/equip/vessel.js64-bit- CadCraft
- BimCraft
-
Hydrostatic test pressure
The test pressure from the allowable working pressure.
P_test = 1.3 × MAWP × stress ratio
Pressure vessel thickness and support formulas process/equip/vessel.js64-bit- CadCraft
- BimCraft
-
External pressure, elastic formulas
The critical and allowable external pressure of a plain cylinder.
long: P = 2E·(t ÷ D)³ ÷ (1 − ν²); short: P = 2.42E·(t ÷ D)^2.5 ÷ ((1 − ν²)^0.75 × (L ÷ D − 0.45·√(t ÷ D))); P_a = P_cr ÷ 4
Pressure vessel thickness and support formulas process/equip/vessel.js64-bit- CadCraft
- BimCraft
-
Limits of reinforcement
How far along and normal to the wall material counts as reinforcement of an opening.
along wall = max(d, Rn + tn + t); normal = min(2.5t, 2.5tn + te)
Pressure vessel thickness and support formulas process/equip/vessel.js64-bit- CadCraft
- BimCraft
-
Opening reinforcement areas
The area an opening removes and the areas available to replace it.
A = d·tr + 2tn·tr·(1 − fr₁); available = A₁ + A₂ + A₄₁ + A₅; margin = available ÷ A − 1
Pressure vessel thickness and support formulas process/equip/vessel.js64-bit- CadCraft
- BimCraft
-
Saddle bending stresses
Longitudinal bending moments and stresses of a horizontal vessel on two saddles.
M₁ = Q·a·(1 − (1 − a ÷ L + (R² − H²) ÷ 2aL) ÷ (1 + 4H ÷ 3L)); σ = M ÷ (π·R²·t)
Pressure vessel thickness and support formulas process/equip/vessel.js64-bit- CadCraft
- BimCraft
-
Wind velocity pressure
The wind pressure on a vessel from the wind speed.
q = 0.613 × Kz × Kzt × Kd × V² × I
Pressure vessel thickness and support formulas process/equip/vessel.js64-bit- CadCraft
- BimCraft
-
Wind force and overturning moment
The wind force on a vertical vessel and its moment at the base.
F = q × 10⁻⁶ × Cf × D × H; M = F × H ÷ 2
Pressure vessel thickness and support formulas process/equip/vessel.js64-bit- CadCraft
- BimCraft
-
Seismic base shear and moment
A first estimate of the seismic shear and overturning moment.
V = Cs × W; M = Cs × W × 2H ÷ 3
Pressure vessel thickness and support formulas process/equip/vessel.js64-bit- CadCraft
- BimCraft
-
Skirt stresses
Compressive and tensile stress at the base of a skirt from weight and overturning.
A = π·D·t; Z = π·D²·t ÷ 4; σ = M ÷ Z ± W ÷ A
Pressure vessel thickness and support formulas process/equip/vessel.js64-bit- CadCraft
- BimCraft
-
Flat head thickness
The required thickness of a circular flat head or cover.
t = d × √(C·P ÷ (S·E))
Pressure vessel thickness and support formulas process/equip/vessel.js64-bit- CadCraft
- BimCraft
-
Minimum design metal temperature
The stress ratio and the temperature reduction read from points a person types.
ratio = tr·E ÷ (tn − c); MDMT = base − ΔT(ratio)
Pressure vessel thickness and support formulas process/equip/vessel.js64-bit- CadCraft
- BimCraft
-
Data sheet values
The rows and text of the vessel data sheet.
Pressure vessel thickness and support formulas process/equip/vessel.js64-bit- CadCraft
- BimCraft
-
Equipment parameters for the plant model
The diameter, length and support height handed to the plant equipment.
Pressure vessel thickness and support formulas process/equip/vessel.js64-bit- CadCraft
- BimCraft
-
External pressure from chart factors
The allowable external pressure of a cylinder from the chart factor A and the material curve a person types.
chart: P_a = 4B ÷ (3·D_o ÷ t); elastic: P_a = 2A·E ÷ (3·D_o ÷ t)
Pressure vessel thickness and support formulas process/equip/vessel2.js64-bit- CadCraft
- BimCraft
-
Stiffening ring inertia
The moment of inertia a stiffening ring must have.
I_s = D_o² × L_s × (t + A_s ÷ L_s) × A ÷ 14
Pressure vessel thickness and support formulas process/equip/vessel2.js64-bit- CadCraft
- BimCraft
-
Table values in millimeters
Converts each published row to millimeters, mm² and kg/m.
mm = in × 25.4; mm² = in² × 25.4 × 25.4; kg/m = lb/ft × 1.48816394; r = (k_des − t_f) × 25.4
Steel section dimensions, areas and outlines shapes/sections.js64-bit- CadCraft
- BimCraft
- DetailCraft
- PartCraft
-
Exact section area
The cross-section area worked out from the dimensions, with fillets and rounded corners included.
I: 2·b_f·t_f + (d − 2t_f)·t_w + (4 − π)·r²; RHS: 2t(h + b − 2t) − (4 − π)(r_o² − r_i²); CHS: π(D − t)·t
Steel section dimensions, areas and outlines shapes/sections.js64-bit- CadCraft
- BimCraft
- DetailCraft
- PartCraft
-
Section outline
The outline of a section as loops of points, centered on its bounding box.
arc point = (cx + r·cos a, cy + r·sin a), a = a₀ + (a₁ − a₀)·i ÷ n
Steel section dimensions, areas and outlines shapes/sections.js64-bit- CadCraft
- BimCraft
- DetailCraft
- PartCraft
-
Rounded rectangle loop
The outer or inner loop of a rectangular hollow section with rounded corners.
Steel section dimensions, areas and outlines shapes/sections.js64-bit- CadCraft
- BimCraft
- DetailCraft
- PartCraft
-
Loop area
The signed area of an outline loop.
A = ½ × Σ (xᵢ·yᵢ₊₁ − xᵢ₊₁·yᵢ)
Steel section dimensions, areas and outlines shapes/sections.js64-bit- CadCraft
- BimCraft
- DetailCraft
- PartCraft
-
Loop perimeter
The length around an outline loop.
L = Σ √(Δx² + Δy²)
Steel section dimensions, areas and outlines shapes/sections.js64-bit- CadCraft
- BimCraft
- DetailCraft
- PartCraft
-
Part sizes in millimeters
The table dimensions of each size of a part family, with inch sizes converted.
mm = in × 25.4; pitch = 25.4 ÷ threads per inch
Standard parts and library items shapes/parts.js64-bit- CadCraft
- PartCraft
-
Hexagon area
The area of a hexagon from its width across flats.
A = (√3 ÷ 2) × s²
Standard parts and library items shapes/parts.js64-bit- CadCraft
- PartCraft
-
Mass from volume
The mass of a part in kilograms from its volume in mm³.
kg = mm³ × 10⁻⁹ × 7850, rounded to 4 decimals
Standard parts and library items shapes/parts.js64-bit- CadCraft
- PartCraft
-
Inch length as a fraction
Writes an inch length as a whole number and a fraction for the part's designation.
n = round(v × 64); reduce n ÷ 64
Standard parts and library items shapes/parts.js64-bit- CadCraft
- PartCraft
-
Part dimensions and mass
The full set of dimensions, the bounding box and the mass of one part.
e = 2s ÷ √3; bolt mass = (hex area × k + π ÷ 4 × d² × l) × ρ; gear: d = m·z, d_a = m(z + 2), d_f = m(z − 2.5), d_b = d·cos 20°
Standard parts and library items shapes/parts.js64-bit- CadCraft
- PartCraft
-
Coordinate rounding in library items
Rounds every coordinate written into a library item's drawing.
round(v × 1000) ÷ 1000
Standard parts and library items shapes/items.js64-bit- CadCraft
- PartCraft
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.