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

  • Design plane

    The design elevation at a point for a level and two grades.

    z = z₀ + gx·(x − cx) + gy·(y − cy)

    Earthwork balance and haul plan earthwork.js
    • CivilCraft
    64-bit
  • Free-haul moment

    The volume moved times the distance between the centroid of cut and the centroid of fill.

    moment = min(cut × factor, fill) × |centroid(cut) − centroid(fill)|

    Earthwork balance and haul plan earthwork.js
    • CivilCraft
    64-bit
  • Best tilt

    The level and tilt, within the grade limit, that balance with the least haul moment.

    Earthwork balance and haul plan earthwork.js
    • CivilCraft
    64-bit
  • Blocks of cut and fill

    Cells grouped into blocks, each with its volume and its volume-weighted center.

    center = Σ (p × v) ÷ Σ v

    Earthwork balance and haul plan earthwork.js
    • CivilCraft
    64-bit
  • Minimum-cost transport

    How much goes from each block of cut to each block of fill at the least total volume times distance.

    Earthwork balance and haul plan earthwork.js
    • CivilCraft
    64-bit
  • Haul plan totals

    Volume moved on site, total haul, average haul distance, and what is left to take away or bring in.

    haul = Σ volume × distance; average = haul ÷ moved

    Earthwork balance and haul plan earthwork.js
    • CivilCraft
    64-bit
  • Earthwork balancer run

    The volumes at the pad's present level, the balanced level, the tilt and the haul plan for one pad.

    factor = 1 + percent ÷ 100; cell area = cell²

    Earthwork, route and pond tools: values stored and exported eg-ui.js
    • CivilCraft
    64-bit
  • Balanced level written to the pad

    The pad's level, and its corner elevations when it tilts, as stored in the project.

    z stored = Number(z.toFixed(3))

    Earthwork, route and pond tools: values stored and exported eg-ui.js
    • CivilCraft
    64-bit
  • Haul plan CSV

    The haul flows exported as a CSV file.

    Earthwork, route and pond tools: values stored and exported eg-ui.js
    • CivilCraft
    64-bit
  • Alignment from a found route

    The PIs of a new alignment from the route's points, with a curve radius at each bend.

    r = min(R, min(l₁, l₂) ÷ (2·tan(Δ/2))), stored to 2 decimals

    Earthwork, route and pond tools: values stored and exported eg-ui.js
    • CivilCraft
    64-bit
  • Route ends picked in the plan

    The start and end of a route search as taken from two picked points.

    x, y = Number(v.toFixed(3))

    Earthwork, route and pond tools: values stored and exported eg-ui.js
    • CivilCraft
    64-bit
  • Sized orifice written to the pond

    The orifice diameter found for the target outflow, as stored in the pond.

    diameter stored = Number((d ÷ L).toFixed(3))

    Earthwork, route and pond tools: values stored and exported eg-ui.js
    • CivilCraft
    64-bit
  • Pond hydrograph CSV

    Inflow, outflow and stage against time exported as a CSV file.

    Earthwork, route and pond tools: values stored and exported eg-ui.js
    • CivilCraft
    64-bit
  • Survey points for progress checks

    Ground points read from a LAS, LAZ, CSV or text file and turned into a surface.

    LAS thinning cell = max(0.5, √(extent area ÷ 400 000)) unless a spacing is given

    Earthwork, route and pond tools: values stored and exported eg-ui.js
    • CivilCraft
    64-bit
  • Three-decimal rounding of tool results

    The rounding applied to nearly every number a tool returns to an assistant or script.

    r3(v) = round(v × 1000) ÷ 1000

    Earthwork, route and pond tools: values stored and exported eg-agent.js
    • CivilCraft
    64-bit
  • Volumes in report units

    Volumes converted to cubic yards or cubic meters for a tool's answer.

    cubic yards = cubic feet ÷ 27; from cubic meters: ÷ 0.028316846592 ÷ 27

    Earthwork, route and pond tools: values stored and exported eg-agent.js
    • CivilCraft
    64-bit
  • Rain results in inches and cubic feet per second

    Depths and flows from the rain solver converted from meters for a feet project.

    inches = meters × 39.3700787; ft³/s = m³/s ÷ 0.028316846592

    Earthwork, route and pond tools: values stored and exported eg-agent.js
    • CivilCraft
    64-bit
  • Pad level set by an assistant

    A pad's level and, for a tilted pad, its corner elevations, as stored in the project.

    z stored = r3(level); corner z = r3(level + gx·(x − cx) + gy·(y − cy))

    Earthwork, route and pond tools: values stored and exported eg-agent.js
    • CivilCraft
    64-bit
  • Alignment from route points

    The PIs of an alignment made by an assistant from route points, with curve radii.

    r = min(R, min(l₁, l₂) ÷ (2·tan(Δ/2))), stored to 3 decimals

    Earthwork, route and pond tools: values stored and exported eg-agent.js
    • CivilCraft
    64-bit
  • Orifice sized by an assistant

    The orifice diameter found for an allowed outflow, as used for the reported run.

    diameter = r3(d ÷ L)

    Earthwork, route and pond tools: values stored and exported eg-agent.js
    • CivilCraft
    64-bit
  • Number of pieces for an arc

    How many straight pieces draw an arc within the tolerance.

    step = min(2·acos(1 − tol ÷ r), 5°); pieces = ⌈|sweep| ÷ step⌉, from 1 to 720

    Feature line arcs as straight pieces featureline.js
    • CivilCraft
    64-bit
  • Line as straight pieces

    The feature line with every arc replaced by vertices on the arc.

    p = c + r·(cos θ, sin θ), θ = a₀ + sweep × s ÷ k; z = z_a + (z_b − z_a) × s ÷ k

    Feature line arcs as straight pieces featureline.js
    • CivilCraft
    64-bit
  • Closed design line as a grading item

    The outline and the single elevation a closed design feature line passes to grading.

    z = Σ vertex z ÷ number of vertices

    Feature line arcs as straight pieces featureline.js
    • CivilCraft
    64-bit
  • Feature line written to DWG or DXF

    The 3D polyline and the extended data that records which runs of pieces were arcs.

    Feature line arcs as straight pieces featureline.js
    • CivilCraft
    64-bit
  • Feature line read back from DWG or DXF

    The feature line rebuilt from a polyline and its extended data.

    Feature line arcs as straight pieces featureline.js
    • CivilCraft
    64-bit
  • Crossings with an alignment

    Every place a feature line crosses the centerline, with its station and elevation.

    z = z_a + t × Δz

    Feature line arcs as straight pieces featureline.js
    • CivilCraft
    64-bit
  • Stretches running beside an alignment

    The parts of a feature line within a given distance of the centerline, as station and elevation for a profile view.

    Feature line arcs as straight pieces featureline.js
    • CivilCraft
    64-bit
  • Project units to meters

    The factor that takes a project length to meters for every engine in this file.

    feet: 0.3048; meters: 1

    Running saved geotechnical, survey, pit and link items geo-run.js
    • CivilCraft
    64-bit
  • Soil profile along a section

    The borings in meters, the layers between them, and the layer stack at evenly spaced stations.

    stations = max(2, round(length ÷ step)), default step = max(length ÷ 40, 0.5 m)

    Running saved geotechnical, survey, pit and link items geo-run.js
    • CivilCraft
    64-bit
  • Slope cross section for stability

    The ground line, layer tops, water level, surcharges and floor that the slope stability engine reads.

    81 samples along the section; layer top = min(layer top, ground)

    Running saved geotechnical, survey, pit and link items geo-run.js
    • CivilCraft
    64-bit
  • Slope stability run

    The factor of safety of a given circle, or the critical circle from a search.

    Running saved geotechnical, survey, pit and link items geo-run.js
    • CivilCraft
    64-bit
  • Settlement run

    Settlement under a footing at a boring, and the time for 50 % and 90 % consolidation.

    layer top = (z − from) × k; drainage path = clay thickness ÷ 2

    Running saved geotechnical, survey, pit and link items geo-run.js
    • CivilCraft
    64-bit
  • Traverse run

    A traverse closed by the compass rule from legs typed as distance and azimuth in degrees.

    azimuth in radians = degrees × π ÷ 180

    Running saved geotechnical, survey, pit and link items geo-run.js
    • CivilCraft
    64-bit
  • Coverage run

    Received power over a grid round a transmitter and the farthest covered cell.

    farthest = max over covered cells of √(Δx² + Δy²) ÷ k

    Running saved geotechnical, survey, pit and link items geo-run.js
    • CivilCraft
    64-bit
  • Open pit run

    The block model in meters, block values, the ultimate pit and its phases.

    slope in radians = degrees × π ÷ 180; phase factors from 0.4 to 1 in equal steps

    Running saved geotechnical, survey, pit and link items geo-run.js
    • CivilCraft
    64-bit
  • Unit weight of water

    The constant behind every pore pressure and every submerged unit weight in this file.

    γw = 9.81 kN/m³

    Slope stability geotech.js
    • CivilCraft
    64-bit
  • Elevation of a line at a position

    The ground, a layer top or the water table at a horizontal position.

    Slope stability geotech.js
    • CivilCraft
    64-bit
  • Where a circle meets the ground

    The positions where the lower arc of a trial circle crosses the ground line.

    f(x) = ground(x) − (zc − √(R² − (x − xc)²))

    Slope stability geotech.js
    • CivilCraft
    64-bit
  • Slices of the sliding mass

    Each slice's width, weight, base angle, strength and pore pressure.

    W = Σ layers γ × thickness × b; sin α = −(x − xc) ÷ R; u = γw × (zw − zb), or ru × W ÷ b

    Slope stability geotech.js
    • CivilCraft
    64-bit
  • Factor of safety

    The factor of safety of one circle by the ordinary method or by Bishop's simplified method.

    Bishop: FS = Σ[(c·b + (W − u·b)·tan φ) ÷ (cos α + sin α·tan φ ÷ FS)] ÷ Σ W·sin α

    Slope stability geotech.js
    • CivilCraft
    64-bit
  • Stress influence factor under a corner

    The share of the surface load felt at a depth under the corner of a loaded rectangle.

    m = a ÷ z, n = b ÷ z, v = m² + n² + 1; I = [2mn√v ÷ (v + m²n²) × (v + 1) ÷ v + atan2(2mn√v, v − m²n²)] ÷ 4π

    Foundation settlement geotech.js
    • CivilCraft
    64-bit
  • Stress under a footing

    The vertical stress increase under the center or a corner of a rectangular footing.

    center: Δσ = 4·q·I(B ÷ 2, L ÷ 2, z); corner: Δσ = q·I(B, L, z)

    Foundation settlement geotech.js
    • CivilCraft
    64-bit
  • Stress by the 2:1 spread

    The average stress increase at a depth by the quick 2:1 rule.

    Δσ = q·B·L ÷ ((B + z)·(L + z))

    Foundation settlement geotech.js
    • CivilCraft
    64-bit
  • Elastic settlement under a corner

    The settlement of the corner of a flexible loaded rectangle on an elastic half-space.

    w = q·(1 − ν²) ÷ (π·E) × [a·ln((b + d) ÷ a) + b·ln((a + d) ÷ b)], d = √(a² + b²)

    Foundation settlement geotech.js
    • CivilCraft
    64-bit
  • Settlement of a layered soil

    Consolidation and immediate settlement under a footing, sub-layer by sub-layer.

    clay: s = Cc·Δz ÷ (1 + e₀) × log₁₀(σ′f ÷ σ′₀), with Cs below σ′c; sand: s = Δσ ÷ Es × Δz

    Foundation settlement geotech.js
    • CivilCraft
    64-bit
  • Degree of consolidation

    The share of the final consolidation settlement reached at a time factor.

    U = 1 − Σ (2 ÷ M²)·exp(−M²·Tv), M = π·(2m + 1) ÷ 2

    Foundation settlement geotech.js
    • CivilCraft
    64-bit
  • Time factor for a degree of consolidation

    The time factor at which a given share of the settlement is reached.

    Foundation settlement geotech.js
    • CivilCraft
    64-bit
  • Time to reach a degree of consolidation

    The time for a share of the consolidation settlement.

    t = Tv·Hdr² ÷ cv

    Foundation settlement geotech.js
    • CivilCraft
    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.