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

  • 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
  • Arc from two points and a bulge

    The center, radius, start angle, sweep and length of the arc between two vertices.

    k = (1 − b²) ÷ (4b); center = chord middle + k·(−Δy, Δx); r = c·(1 + b²) ÷ (4|b|); sweep = 4·atan(b); L = r·|sweep|

    Feature line grades, arcs, offsets and crossings featureline.js
    • CivilCraft
    64-bit
  • Bulge of an arc through three points

    The bulge of the arc drawn from a start, through a middle point, to an end.

    sweep = 2·(π − angle at the middle point); bulge = sign × tan(sweep ÷ 4)

    Feature line grades, arcs, offsets and crossings featureline.js
    • CivilCraft
    64-bit
  • Bulge for a typed radius

    The bulge of the shorter arc of a given radius between two vertices.

    Δ = 2·asin(c ÷ 2r); bulge = ±tan(Δ ÷ 4)

    Feature line grades, arcs, offsets and crossings featureline.js
    • CivilCraft
    64-bit
  • Point and direction along a segment

    The plan point and travel direction at a fraction of a straight or arc segment.

    arc: p = c + r·(cos θ, sin θ), θ = a₀ + sweep × u

    Feature line grades, arcs, offsets and crossings featureline.js
    • CivilCraft
    64-bit
  • Segment lengths and grades

    Each segment's plan length, chord, 3D length, rise and grade.

    length = chord or r·|sweep|; 3D length = √(L² + Δz²); grade = Δz ÷ L

    Feature line grades, arcs, offsets and crossings featureline.js
    • CivilCraft
    64-bit
  • Stations along a feature line

    The plan distance from the start to each vertex.

    Feature line grades, arcs, offsets and crossings featureline.js
    • CivilCraft
    64-bit
  • Elevation from a grade

    The far vertex of a segment moved to the elevation a typed grade gives.

    z₂ = z₁ + grade × length

    Feature line grades, arcs, offsets and crossings featureline.js
    • CivilCraft
    64-bit
  • One grade between two vertices

    The vertices between two chosen ones placed on a single grade.

    z = z₀ + (z₁ − z₀) × (s − s₀) ÷ L

    Feature line grades, arcs, offsets and crossings featureline.js
    • CivilCraft
    64-bit
  • Stepped offset

    A copy of the line moved sideways with mitred corners and raised by a height or a cross slope.

    corner shift = bisector × d ÷ cos(half angle); z + Δz, or z + |d| × slope

    Feature line grades, arcs, offsets and crossings featureline.js
    • CivilCraft
    64-bit
  • Straight segment against an alignment element

    Where a straight feature line segment crosses a line or arc of the alignment, with the station.

    line: 2×2 solve by cross products; arc: A·t² + B·t + C = 0, t = (−B ± √(B² − 4AC)) ÷ 2A

    Feature line grades, arcs, offsets and crossings featureline.js
    • CivilCraft
    64-bit
  • Arc segment against an alignment element

    Where an arc of a feature line crosses a line or arc of the alignment.

    two circles: along = (r₁² − r₂² + d²) ÷ 2d; h = √(r₁² − along²)

    Feature line grades, arcs, offsets and crossings featureline.js
    • CivilCraft
    64-bit
  • Feature line read from a file

    The vertices kept when a feature line is read from a project file or a drawing.

    Feature line grades, arcs, offsets and crossings featureline.js
    • CivilCraft
    64-bit
  • Elevations of a newly drawn line

    The elevation each vertex of a new feature line gets.

    Feature line grades, arcs, offsets and crossings features-ui.js
    • CivilCraft
    64-bit
  • Elevation and grade boxes

    A typed vertex elevation or segment grade applied to the line.

    grade = typed percent ÷ 100

    Feature line grades, arcs, offsets and crossings features-ui.js
    • CivilCraft
    64-bit
  • Offset distance and amount

    The typed offset distance and height or slope passed to the stepped offset.

    slope = typed percent ÷ 100

    Feature line grades, arcs, offsets and crossings features-ui.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
  • Layers made end to end

    The depth limits of a boring's layers after gaps and overlaps are removed.

    Boring logs and the soil profile between borings geotech.js
    • CivilCraft
    64-bit
  • Layer elevations

    The top and bottom elevation and the thickness of each layer of a boring.

    top = z − from; bottom = z − to; thickness = to − from

    Boring logs and the soil profile between borings geotech.js
    • CivilCraft
    64-bit
  • SPT blow count corrections

    N60 and (N1)60 from a field blow count.

    N60 = N × ER ÷ 60 × CB × CS × CR; CN = min(1.7, √(101.325 ÷ σ′v)); (N1)60 = CN × N60

    Boring logs and the soil profile between borings geotech.js
    • CivilCraft
    64-bit
  • Boring projected onto the section line

    The station along the section and the offset from it of a boring.

    t = ((p − a)·(b − a)) ÷ |b − a|², clamped to 0…1; station = length so far + t·|b − a|

    Boring logs and the soil profile between borings geotech.js
    • CivilCraft
    64-bit
  • Soil profile between borings

    The polygon of each soil unit between neighboring borings, the ground line and the water line.

    pinch-out point = ((s₁ + s₂) ÷ 2, (top + bottom) ÷ 2)

    Boring logs and the soil profile between borings geotech.js
    • CivilCraft
    64-bit
  • Layer stack at a station

    The top and bottom of every soil unit at one station of the profile.

    z = z_a + (s − s_a) ÷ (s_c − s_a) × (z_c − z_a)

    Boring logs and the soil profile between borings geotech.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

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.