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
-
Pressure needed at the supply
The loss along the mainline from the supply to a zone's valve and the pressure that zone needs at the supply.
at supply = zone need + Σ (friction + elevation) along the main + supply loss
Irrigation zones: flow, pressure and coverage landscape/irrigation.js64-bit- CivilCraft
-
Zone precipitation rate and weekly run time
The precipitation rate of a zone and the minutes a week it must run for the weekly water depth.
pr = 60 × Σ flow ÷ Σ (r² × arc ÷ 360); minutes = weekly mm ÷ pr × 60
Irrigation zones: flow, pressure and coverage landscape/irrigation.js64-bit- CivilCraft
-
Bill of materials
Counts of heads, total pipe length by size, drip length and emitter count.
pipe length = Σ √(Δx² + Δy²) × meters per project unit
Irrigation zones: flow, pressure and coverage landscape/irrigation.js64-bit- CivilCraft
-
Coverage grid and head-to-head check
The share of the area reached by no head, one head or two and more, and the heads whose nearest neighbor is beyond their throw.
cell = larger extent ÷ 200, grown by 1.5 until at most 200000 cells; far when nearest head > 1.0001 × throw
Irrigation zones: flow, pressure and coverage landscape/irrigation.js64-bit- CivilCraft
-
Unit text for labels, the check table and its CSV
Turns kPa, L/min, meters and mm/h into the text shown, in US units for a feet project.
psi = kPa ÷ 6.894757; gpm = L/min ÷ 3.785412; ft = m ÷ 0.3048; in/h = mm/h ÷ 25.4
Irrigation zones: flow, pressure and coverage landscape/irr-ui.js64-bit- CivilCraft
-
Head radius typed in feet
Stores a head's throw radius, typed in project units, as meters.
radius (m) = typed feet × 0.3048
Irrigation zones: flow, pressure and coverage landscape/irr-ui.js64-bit- CivilCraft
-
Supply pressure, flow and loss typed in US units
Stores the supply's pressure, available flow and loss in kPa and L/min from values typed in psi and gpm.
kPa = psi × 6.894757; L/min = gpm × 3.785412
Irrigation zones: flow, pressure and coverage landscape/irr-ui.js64-bit- CivilCraft
-
Irrigation quantities for takeoff
Head counts and pipe and drip lengths passed to TakeoffCraft.
LF = round(m ÷ 0.3048 × 100) ÷ 100
Irrigation zones: flow, pressure and coverage landscape/irr-ui.js64-bit- CivilCraft
-
Overlap area of two modifiers
The plan area where two ground-shaping objects overlap.
overlap = |area of a| − area of (a with b cut out)
Ground modifiers: cut and fill, overlaps, level labels and junction checks landscape/stack.js64-bit- CivilCraft
-
Cut and fill per modifier
The cut volume, fill volume and area that each ground-shaping object accounts for.
cell = √(W × H ÷ 200000); fill += (z proposed − z existing) × cell² when positive, cut when negative
Ground modifiers: cut and fill, overlaps, level labels and junction checks landscape/stack.js64-bit- CivilCraft
-
Spot level and gradient
The level at a point, or the fall, run, percent and ratio between two points on the surface.
pct = |z₂ − z₁| ÷ run × 100; ratio = run ÷ |z₂ − z₁|
Ground modifiers: cut and fill, overlaps, level labels and junction checks landscape/stack.js64-bit- CivilCraft
-
Typical thresholds in project units
The level difference that counts as meeting and the drop that counts as a trip edge.
meet = 0.01 m × k; drop = 0.15 m × k; k = 1 ÷ 0.3048 for feet
Ground modifiers: cut and fill, overlaps, level labels and junction checks landscape/problems-landscape.js64-bit- CivilCraft
-
Paving level at a point
The finished level of a paved area at any point: flat, on its cross-fall plane, or on its cone to a drain.
cross: z = z₀ − (pct ÷ 100)((x − cx)·cos a + (y − cy)·sin a); drain: z = z₀ + (pct ÷ 100) × distance to the drain
Ground modifiers: cut and fill, overlaps, level labels and junction checks landscape/problems-landscape.js64-bit- CivilCraft
-
Ground against a wall's top and footing
Finds where the ground on the high side is above the wall's top or the ground on the low side is below the footing's top.
over = max(ground left, ground right) − top; footing shows = footing − min(ground left, ground right)
Ground modifiers: cut and fill, overlaps, level labels and junction checks landscape/problems-landscape.js64-bit- CivilCraft
-
Steps against the paving they land on
The level difference between a flight's bottom or top and the paving at that point.
d = z of the flight's end − paving level there
Ground modifiers: cut and fill, overlaps, level labels and junction checks landscape/problems-landscape.js64-bit- CivilCraft
-
Planted area level against a paving edge
The largest level difference between a planted area's finished level and the paving along the edge they share.
d = area level − paving level at the midpoint of each cut edge
Ground modifiers: cut and fill, overlaps, level labels and junction checks landscape/problems-landscape.js64-bit- CivilCraft
-
Where the section line is inside an outline
The stretches of the section line, as distances along it, that lie inside a closed outline.
d = distance to the segment start + t × segment length, for every crossing t
Landscape sections and detail drawings landscape/section.js64-bit- CivilCraft
-
Where the section line crosses an open line
The distances along the section line where it crosses a wall or other open line.
d = distance to the segment start + t × segment length
Landscape sections and detail drawings landscape/section.js64-bit- CivilCraft
-
Distance along and across the section line
How far along the section line a point is and how far to its side, used to pick the plants drawn in the section.
t = clamp(((p − a)·(b − a)) ÷ |b − a|², 0, 1); offset = ±|p − (a + t(b − a))|
Landscape sections and detail drawings landscape/section.js64-bit- CivilCraft
-
Proposed ground level at a distance
The level of the proposed ground at a distance along the section, between the cut's points.
z = z₀ + (d − d₀) ÷ (d₁ − d₀) × (z₁ − z₀)
Landscape sections and detail drawings landscape/section.js64-bit- CivilCraft
-
Build-up layers under the ground line
Each layer of a paving or planted-area build-up drawn as a band hanging below the proposed ground.
top of layer = ground − Σ thickness of the layers above; y = z × vertical exaggeration
Landscape sections and detail drawings landscape/section.js64-bit- CivilCraft
-
Wall at the section line
The top and footing levels of a wall where the section line crosses it.
values of the wall station nearest the crossing point
Landscape sections and detail drawings landscape/section-ls.js64-bit- CivilCraft
-
Steps in profile
The stepped outline of a flight where the section line passes through it.
risers climbed = ⌊distance along the flight ÷ going⌋ + 1; z = bottom + risers × riser
Landscape sections and detail drawings landscape/section-ls.js64-bit- CivilCraft
-
Plants near the section line
The plants drawn in a section, with their height and spread in project units.
h = height (m) ÷ k; k = 0.3048 for feet
Landscape sections and detail drawings landscape/section-ls.js64-bit- CivilCraft
-
Scale of a section on its sheet
Picks the standard scale a section is drawn at and the paper millimeters per project unit.
k = real ÷ n; real = 1000 mm per m or 304.8 mm per ft; n = first of 10, 20, 25, 50, 100, 200, 250, 500, 1000, 2000 with real ÷ n ≤ fit
Landscape sections and detail drawings landscape/section-ls.js64-bit- CivilCraft
-
Scale of a detail
Picks the standard scale of a wall, paving or steps detail and the paper millimeters per project unit.
k = per ÷ n; per = 1000 or 304.8; n = first of 5, 10, 20, 25, 50, 100 with 1 ÷ n ≤ fit ÷ per
Landscape sections and detail drawings landscape/sheets.js64-bit- CivilCraft
-
Wall detail: batter and footing as drawn
The lean of the wall face and the footing shown in a wall's detail drawing.
batter offset = tan(batter°) × (top − footing) × k; footing drawn = min(0.6 × depth, 0.3 m)
Landscape sections and detail drawings landscape/sheets.js64-bit- CivilCraft
-
Load per meter of conductor
The vertical load (weight and ice), the wind load and their resultant per meter of conductor in one load case.
ice = π((D ÷ 2 + t)² − (D ÷ 2)²) × ρ × g; w_v = m·g + ice; w_h = wind pressure × (D + 2t); w = √(w_v² + w_h²)
Overhead conductor sag and tension powerline/sag.js64-bit- CivilCraft
-
Ruling span
The equivalent span of a section between dead-ends.
L_r = √(Σ L³ ÷ Σ L)
Overhead conductor sag and tension powerline/sag.js64-bit- CivilCraft
-
Axial stiffness and thermal expansion
EA in newtons and the expansion coefficient per degree from the library's values.
EA = E (GPa) × 10⁹ × area (mm²) × 10⁻⁶; α = α₆ × 10⁻⁶
Overhead conductor sag and tension powerline/sag.js64-bit- CivilCraft
-
Change of state
The horizontal tension in a new load case and temperature, from a known tension in another.
H³ + K·H² − M = 0; K = EA·(w₁²L² ÷ (24H₁²) + α(t₂ − t₁)) − H₁; M = EA·w₂²L² ÷ 24
Overhead conductor sag and tension powerline/sag.js64-bit- CivilCraft
-
Catenary of one span
The lowest point, sag, conductor length and the tension at each support of a span, level or inclined.
a = H ÷ w; x₀ = L ÷ 2 − a·asinh(dz ÷ (2a·sinh(L ÷ 2a))); y(x) = a·(cosh((x − x₀) ÷ a) − cosh(x₀ ÷ a)); length = a·(sinh((L − x₀) ÷ a) + sinh(x₀ ÷ a)); T = H·cosh(x ÷ a)
Overhead conductor sag and tension powerline/sag.js64-bit- CivilCraft
-
Horizontal tension for a support-tension limit
The horizontal tension at which the support tension of the level ruling span equals a limit.
find H with H·cosh(L_r·w ÷ 2H) = T
Overhead conductor sag and tension powerline/sag.js64-bit- CivilCraft
-
Meeting the tension limits on the real spans
Lowers the reference tension until every support-tension limit holds on the actual spans, then reports which limits hold.
H ← H ÷ max(T_max ÷ limit); holds when value ≤ limit × (1 + 1e−6)
Overhead conductor sag and tension powerline/sag.js64-bit- CivilCraft
-
Stringing table
Tension, sag and conductor length of every span at each stringing temperature, in still air without ice.
per temperature: change of state from the reference, then a catenary per span
Overhead conductor sag and tension powerline/sag.js64-bit- CivilCraft
-
Unbalanced ice load at a suspension support
The longitudinal pull on a support when one adjacent span is iced and the other is bare.
dT = max(|H iced, left − H bare, right|, |H iced, right − H bare, left|)
Overhead conductor sag and tension powerline/sag.js64-bit- CivilCraft
-
Starter library conductor data
The area, diameter, mass, strength, stiffness, expansion and resistance of the generic stranded conductors that come with the app.
mass = 1.02 × Σ area × density; strength = 0.9 × Σ area × wire strength; R₂₀ = 1.02 × resistivity ÷ area × 1000
Overhead conductor sag and tension powerline/library.js64-bit- CivilCraft
-
Line angle at each support
The turn of the line at each support, in degrees.
turn = |atan2 of the span ahead − atan2 of the span behind|, wrapped to 0 … 180°
Overhead line checks: clearances, support loads and sizing powerline/model.js64-bit- CivilCraft
-
Suspension, angle or dead-end
Decides each support's role from the line angle when none is set.
dead-end when turn ≥ dead-end angle; angle when turn > suspension angle
Overhead line checks: clearances, support loads and sizing powerline/model.js64-bit- CivilCraft
-
Chainage of the supports
The cumulative horizontal distance along the line at each support, in project units.
ch = Σ √(Δx² + Δy²)
Overhead line checks: clearances, support loads and sizing powerline/model.js64-bit- CivilCraft
-
Attachment height
The elevation at which the conductor is attached at each support, in meters.
attach = ground × m per unit + height above ground − fitting drop − insulator length; embedment = height ÷ 10 + 0.5 when the item gives none
Overhead line checks: clearances, support loads and sizing powerline/checks.js64-bit- CivilCraft
-
Span length and level difference
The horizontal length of each span and the difference in attachment height between its ends.
L = √(Δx² + Δy²) × m per unit; dz = attach right − attach left
Overhead line checks: clearances, support loads and sizing powerline/checks.js64-bit- CivilCraft
-
Clearance to the ground along a span
The lowest height of the conductor above the ground in each load case, and where it is.
clearance = min over samples of (attach + y(x) − ground); samples = max(20, ⌈L ÷ 2⌉) + 1
Overhead line checks: clearances, support loads and sizing powerline/checks.js64-bit- CivilCraft
-
Clearance over an obstacle
The height of the conductor above each obstacle the span crosses in plan, in the worst load case.
clear = min over cases of (attach + y(t × L)) − top; top = the obstacle's own top, or ground + height
Overhead line checks: clearances, support loads and sizing powerline/checks.js64-bit- CivilCraft
-
Phase spacing needed
The spacing between phases a span needs, from its largest sag.
need = k·√(sag + insulator length) + U ÷ 150 (U in kV)
Overhead line checks: clearances, support loads and sizing powerline/checks.js64-bit- CivilCraft
-
Loads on a support
The transverse, longitudinal and vertical load on a support in each load case and the equivalent load at its nominal point.
T = n·(w_h × wind span + (H_L + H_R)·sin(turn ÷ 2)); V = n·w_v × weight span + equipment; F_eq = √(T² + L²) × attach height ÷ nominal height
Overhead line checks: clearances, support loads and sizing powerline/checks.js64-bit- CivilCraft
-
Insulator swing angle
The angle a suspension insulator swings to under the wind case.
swing = atan2(T per conductor, V per conductor + insulator weight ÷ 2)
Overhead line checks: clearances, support loads and sizing powerline/checks.js64-bit- CivilCraft
-
Support strength check
Whether the support's nominal load covers the worst equivalent load times the size factor.
ok when worst F_eq × factor ≤ nominal × (1 + 1e−6)
Overhead line checks: clearances, support loads and sizing powerline/checks.js64-bit- CivilCraft
-
Foundation size
The depth, diameter and volume of a support's foundation hole.
depth = embedment, or height ÷ 10 + 0.5; diameter = max(0.6, foot diameter + 0.3) m; volume = π·d² ÷ 4 × depth
Overhead line checks: clearances, support loads and sizing powerline/checks.js64-bit- CivilCraft
-
Where a span crosses an obstacle in plan
The positions along a span, from 0 to 1, where it crosses an obstacle's outline or passes a single point.
t = ((p − a) × e) ÷ (d × e); u = ((p − a) × d) ÷ (d × e)
Overhead line checks: clearances, support loads and sizing powerline/checks.js64-bit- CivilCraft
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.