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

  • 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
  • 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
  • Settlement against time

    The settlement curve from zero to a chosen time.

    s(t) = s_final × U(cv·t ÷ Hdr²)

    Foundation settlement geotech.js
    • CivilCraft
    64-bit
  • Secondary compression

    Settlement from secondary compression between two times.

    S = Cα·H ÷ (1 + ep) × log₁₀(t₂ ÷ t₁)

    Foundation settlement geotech.js
    • CivilCraft
    64-bit
  • Elevation grid from a surface

    The elevation at the center of every grid cell, row by row from the north.

    x₀ = ⌊minX ÷ cell⌋·cell; y₀ = ⌈maxY ÷ cell⌉·cell; center = (x₀ + (c + 0.5)·cell, y₀ − (r + 0.5)·cell)

    Surface exported as a GeoTIFF elevation grid geotiff-write.js
    • CivilCraft
    32-bit in part
  • Elevations written to the file

    The tiles or strips of elevation values as they go into the TIFF.

    Surface exported as a GeoTIFF elevation grid geotiff-write.js
    • CivilCraft
    32-bit in part
  • Grid origin and cell size in the file

    The pixel scale and the tie point that place the grid.

    pixel scale = (cell, cell, 0); tie point = pixel (0, 0) at (x₀, y₀)

    Surface exported as a GeoTIFF elevation grid geotiff-write.js
    • CivilCraft
    64-bit
  • Default cell size

    The mean plan length of the surface's triangle edges, offered as the cell size.

    Σ |edge| ÷ number of edges

    Surface exported as a GeoTIFF elevation grid geotiff-write.js
    • CivilCraft
    64-bit
  • Signed area of a ring

    The area of a ring, positive when it runs counter-clockwise.

    area = Σ (xᵢ·yᵢ₊₁ − xᵢ₊₁·yᵢ) ÷ 2

    GIS feature geometry gis-geom.js
    • CivilCraft
    64-bit
  • Point inside a ring

    Whether a point lies inside a ring.

    GIS feature geometry gis-geom.js
    • CivilCraft
    64-bit
  • Rings sorted into polygons and holes

    Which rings are outlines and which are holes, and which outline each hole belongs to.

    GIS feature geometry gis-geom.js
    • CivilCraft
    64-bit
  • Coordinates through a conversion

    Every vertex of a geometry passed through a function of x and y, keeping z.

    GIS feature geometry gis-geom.js
    • CivilCraft
    64-bit
  • Elevations through a conversion

    The z of every vertex passed through a function, for unit conversion.

    GIS feature geometry gis-geom.js
    • CivilCraft
    64-bit
  • Layers moved to a new coordinate system

    Every GIS layer's coordinates converted when the project's system changes.

    project → grid of the old system → grid of the new system → project

    GIS feature geometry gis-layers.js
    • CivilCraft
    64-bit
  • Attribute value as a label

    The text drawn on the plan for a feature's attribute value.

    number shown = +v.toFixed(3)

    GIS feature geometry gis-layers.js
    • CivilCraft
    64-bit
  • Label point of a polygon

    The centroid of a polygon's largest ring, where its label is placed.

    cx = Σ (xᵢ + xᵢ₊₁)·cᵢ ÷ (3·Σ cᵢ), cᵢ = xᵢ·yᵢ₊₁ − xᵢ₊₁·yᵢ

    GIS feature geometry gis-layers.js
    • CivilCraft
    64-bit
  • Pad elevation and area

    The ELEV and AREA attributes of an exported pad.

    AREA = |shoelace area of the pad's corners|

    Project objects exported as GIS layers gis-export.js
    • CivilCraft
    64-bit
  • Alignment line and length

    An alignment's exported linework and its LENGTH, STA_START and STA_END attributes.

    chords of at most π ÷ 360 (0.5°) of turn

    Project objects exported as GIS layers gis-export.js
    • CivilCraft
    64-bit
  • Pipe attributes

    A pipe's exported inverts, slope in percent and length.

    SLOPE = slope × 100; LENGTH = checked length, else √(Δx² + Δy²)

    Project objects exported as GIS layers gis-export.js
    • CivilCraft
    64-bit
  • Surface edge as polygons with holes

    The surface's outline loops arranged as outer rings and holes for the boundary export.

    Project objects exported as GIS layers gis-export.js
    • CivilCraft
    64-bit
  • Features in grid coordinates

    Every exported feature's coordinates passed through the project's grid transform, with the N and E attributes of survey points set to match.

    Project objects exported as GIS layers gis-export.js
    • CivilCraft
    64-bit
  • Elevations to meters for GeoJSON and KML

    The factor applied to elevations when the export is in longitude and latitude.

    z in meters = z × meters per project unit

    Project objects exported as GIS layers gis-export.js
    • CivilCraft
    64-bit
  • Number box

    The text of a property box turned into the value handed to the model.

    typed sum of lengths → Number(value.toFixed(9))

    Values typed or picked in the main window civilcraft.js
    • CivilCraft
    64-bit
  • PI coordinates box

    The easting and northing of an alignment's point of intersection as shown and as stored from the box.

    Values typed or picked in the main window civilcraft.js
    • CivilCraft
    64-bit
  • First design profile from the ground

    The two profile points a new design profile starts with, at the ends of the ground profile.

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

    Values typed or picked in the main window civilcraft.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.