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

  • Six-tenths scaling

    A known cost scaled to another size.

    C₂ = C₁ (A₂ ÷ A₁)^n, n = 0.6 unless given

    Capital and operating cost process/cost.js
    • CadCraft
    • BimCraft
    64-bit
  • Installed cost

    The installed plant cost from the purchased equipment total.

    installed = purchased × Lang factor (3.10 solid, 3.63 solid–fluid, 4.74 fluid)

    Capital and operating cost process/cost.js
    • CadCraft
    • BimCraft
    64-bit
  • Energy cost

    The cost of energy per hour and per year for a list of powers and prices.

    per hour = Σ |P| ÷ 1000 × price; per year = per hour × hours (8000 unless given)

    Capital and operating cost process/cost.js
    • CadCraft
    • BimCraft
    64-bit
  • Equipment cost table

    The cost of every item, the purchased total and the installed total.

    purchased = Σ cost of the rows; installed = purchased × Lang factor

    Capital and operating cost process/cost.js
    • CadCraft
    • BimCraft
    64-bit
  • Results table lines

    A result object as a flat list of named values for the calculator's table.

    number → +v.toPrecision(6); list of numbers → count, first and last to 5 digits

    Calculator results and export process/calc.js
    • CadCraft
    • BimCraft
    64-bit
  • CSV export of the results

    The results table as comma-separated text.

    Calculator results and export process/calc.js
    • CadCraft
    • BimCraft
    64-bit
  • Figure for the status bar

    The yearly emissions, installed cost or campaign length a run adds to the running totals.

    value = Number(the results line with that name)

    Calculator results and export process/calc.js
    • CadCraft
    • BimCraft
    64-bit
  • Molecular dynamics set-up

    The lattice spacing, cell count and cutoff of the Lennard-Jones liquid calculator.

    a = ∛(4 ÷ ρ); n = min(max(2 | n_typed, 2), 6); r_c = min(2.5, n a ÷ 2 − 1e-6)

    Calculator results and export process/calc.js
    • CadCraft
    • BimCraft
    64-bit
  • Column outlet compositions

    The outlet flows and mole fractions the column calculator lists.

    zᵢ → +zᵢ.toPrecision(5)

    Calculator results and export process/calc4.js
    • CadCraft
    • BimCraft
    64-bit
  • Pump power and suction head margin

    The hydraulic power of a pump and the margin between the available and required net positive suction head.

    power = ρ g Q H ÷ η; NPSH_r by straight-line interpolation between the maker's points; margin = NPSH_a − NPSH_r

    Calculator results and export process/calc4.js
    • CadCraft
    • BimCraft
    64-bit
  • Mesh energy against the plain sum

    The relative difference between the particle-mesh and plain Ewald reciprocal energies.

    |E_mesh − E_plain| ÷ |E_plain|

    Calculator results and export process/calc4.js
    • CadCraft
    • BimCraft
    64-bit
  • 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.js
    • CadCraft
    • BimCraft
    64-bit
  • 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.js
    • CadCraft
    • BimCraft
    64-bit
  • 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.js
    • CadCraft
    • BimCraft
    64-bit
  • 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.js
    • CadCraft
    • BimCraft
    64-bit
  • Atomic weights

    The atomic weight of each element the structure reader knows.

    H 1.008; C 12.011; N 14.007; O 15.999; S 32.06; Cl 35.45 …

    Molar mass and group-contribution estimates process/env/cheminfo.js
    • CadCraft
    • BimCraft
    64-bit
  • Molar mass

    The molar mass of a molecule in g/mol.

    M = Σ count × atomic weight

    Molar mass and group-contribution estimates process/env/cheminfo.js
    • CadCraft
    • BimCraft
    64-bit
  • Joback estimate

    Boiling point, critical temperature, pressure and volume, melting point, formation enthalpy and Gibbs energy, heat capacity and acentric factor of a molecule.

    T_b = 198 + Σ; T_c = T_b ÷ (0.584 + 0.965 Σ − Σ²); P_c = (0.113 + 0.0032 n_atoms − Σ)⁻²; ω = 3⁄7 × θ ÷ (1 − θ) × log₁₀(P_c ÷ 1.01325) − 1, θ = T_b ÷ T_c

    Molar mass and group-contribution estimates process/env/cheminfo.js
    • CadCraft
    • BimCraft
    64-bit
  • Component from a structure

    A component for the property package from the Joback estimate, with a quadratic heat-capacity fit.

    C_p ÷ R ≈ A + B T + C T² fitted at 11 temperatures from 300 to 800 K; h_f (J/mol) = H_f (kJ/mol) × 1000

    Molar mass and group-contribution estimates process/env/cheminfo.js
    • CadCraft
    • BimCraft
    64-bit
  • Dispersion coefficients

    The crosswind and vertical spread of the plume at a distance downwind, for a stability class and terrain.

    σy = ay·x·(1 + by·x)^ey; σz = az·x·(1 + bz·x)^ez

    Gaussian plume concentration and contours process/env/plume.js
    • CadCraft
    • BimCraft
    64-bit
  • Plume concentration at a point

    The concentration at a point downwind, crosswind and above ground from a continuous release.

    C = Q ÷ (2π·u·σy·σz) × exp(−y² ÷ 2σy²) × [exp(−(z − H)² ÷ 2σz²) + exp(−(z + H)² ÷ 2σz²)]

    Gaussian plume concentration and contours process/env/plume.js
    • CadCraft
    • BimCraft
    64-bit
  • Reach of a concentration level

    The farthest downwind distance where the ground-level centerline concentration is still at or above an endpoint.

    Gaussian plume concentration and contours process/env/plume.js
    • CadCraft
    • BimCraft
    64-bit
  • Half-width of a contour

    Half the crosswind width of a concentration level at a given distance.

    w = σy × √(2 × ln(C₀ ÷ C_end))

    Gaussian plume concentration and contours process/env/plume.js
    • CadCraft
    • BimCraft
    64-bit
  • Height of a contour

    The height above ground up to which the concentration stays at or above the endpoint at a given distance.

    Gaussian plume concentration and contours process/env/plume.js
    • CadCraft
    • BimCraft
    64-bit
  • Contour polygon in site coordinates

    The outline of a concentration level as a polygon on the site plan, with its reach and greatest height.

    (x, y) → (cx + x·cos t − y·sin t, cy + x·sin t + y·cos t)

    Gaussian plume concentration and contours process/env/plume.js
    • CadCraft
    • BimCraft
    64-bit
  • Gas density relative to air

    Whether the released gas is heavier than air, which makes a Gaussian result untrustworthy.

    ratio = (P·M ÷ R·T) ÷ (P·M_air ÷ R·T_air); dense when ratio > 1.1

    Gaussian plume concentration and contours process/env/plume.js
    • CadCraft
    • BimCraft
    64-bit
  • Wind speed at height

    The wind speed at a height from the speed measured at 10 m.

    u = u₁₀ × (max(z, 1) ÷ 10)^p

    Stack plume rise and air dispersion screening process/env/dispersion.js
    • CadCraft
    • BimCraft
    64-bit
  • Plume rise and effective height

    How far the plume rises above the stack and the effective release height used by the plume equation.

    Fb = g·vs·d²·(Ts − Ta) ÷ 4Ts; Δh = 21.425·Fb^0.75 ÷ u (Fb < 55) or 38.71·Fb^0.6 ÷ u; stable: Δh = 2.6·∛(Fb ÷ u·s)

    Stack plume rise and air dispersion screening process/env/dispersion.js
    • CadCraft
    • BimCraft
    64-bit
  • Stack from a flowsheet stream

    Exit velocity, volume flow and the emission rate of each species from a process stream.

    V̇ = F·R·T ÷ P; vs = V̇ ÷ (π·d² ÷ 4); Qᵢ = F·zᵢ·MWᵢ

    Stack plume rise and air dispersion screening process/env/dispersion.js
    • CadCraft
    • BimCraft
    64-bit
  • Concentration from one stack at one point

    The ground concentration in µg/m³ from one source for one wind speed and stability class.

    Stack plume rise and air dispersion screening process/env/dispersion.js
    • CadCraft
    • BimCraft
    64-bit
  • Worst-case 1-hour concentration

    The highest ground-level concentration over all stability classes, wind speeds and distances, and its longer-period estimates.

    xᵢ = xMin × (xMax ÷ xMin)^(i ÷ steps); C_avg = C_max × factor

    Stack plume rise and air dispersion screening process/env/dispersion.js
    • CadCraft
    • BimCraft
    64-bit
  • Receptor position in the wind frame

    The downwind and crosswind distance of a receptor from a source for one hour's wind direction, and the concentration there.

    θ = (dirFrom + 180) mod 360; x_d = dx·sin θ + dy·cos θ; y_c = dx·cos θ − dy·sin θ

    Stack plume rise and air dispersion screening process/env/dispersion.js
    • CadCraft
    • BimCraft
    64-bit
  • Hour-by-hour statistics at receptors

    The highest and second-highest hourly value, the period mean and the highest 24-hour mean at each receptor.

    mean = Σ cₕ ÷ n; rolling₂₄ = max over windows of (Σ of 24 hours) ÷ 24

    Stack plume rise and air dispersion screening process/env/dispersion.js
    • CadCraft
    • BimCraft
    64-bit
  • 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.js
    • CadCraft
    • BimCraft
    64-bit
  • 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.js
    • CadCraft
    • BimCraft
    64-bit
  • 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.js
    • CadCraft
    • BimCraft
    64-bit
  • 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.js
    • CadCraft
    • BimCraft
    64-bit
  • 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.js
    • CadCraft
    • BimCraft
    64-bit
  • 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.js
    • CadCraft
    • BimCraft
    64-bit
  • 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.js
    • CadCraft
    • BimCraft
    64-bit
  • 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.js
    • CadCraft
    • BimCraft
    64-bit
  • 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.js
    • CadCraft
    • BimCraft
    64-bit
  • 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.js
    • CadCraft
    • BimCraft
    64-bit
  • 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.js
    • CadCraft
    • BimCraft
    64-bit
  • 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.js
    • CadCraft
    • BimCraft
    64-bit
  • 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.js
    • CadCraft
    • BimCraft
    64-bit
  • 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.js
    • CadCraft
    • BimCraft
    64-bit
  • 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.js
    • CadCraft
    • BimCraft
    64-bit
  • 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.js
    • CadCraft
    • BimCraft
    64-bit
  • 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.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.