Sag
sag_m
Mid-span sag using parabolic approximation (m)
Scores if within ±3% of the reference value.
Computes mid-span sag, wire length, and catenary constant for a single level span of overhead contact wire used in rail electrification. Applies both the parabolic approximation (S = wL^2/8T) and exact catenary equations per EN 50119, enabling comparison of the two methods across light rail, mainline, and high-speed catenary scenarios.
with-tool: The model is given an executable Python calculator script.
One template produces many comparable benchmark tasks while keeping the scoring contract fixed.
01
The reusable contract shown on this page.
02
An archetype and site context are sampled.
03
Inputs may be hidden at harder tiers.
04
The model responds with the declared outputs.
Inputs the model receives, and the outputs it is scored on.
4 inputs
Included directly in every task prompt.
Span length
span_length_m
Horizontal span length between supports
Horizontal tension
horizontal_tension_n
Horizontal component of wire tension at mid-span
Wire diameter
wire_diameter_mm
Outer diameter of the contact wire
Sampled from the scenario and inferable from its description.
Wire weight per m n
wire_weight_per_m_n
Wire weight per unit length (gravitational force per metre)
Derived from the archetype scenario. Hidden at hard difficulty.
4 outputs
sag_m
Mid-span sag using parabolic approximation (m)
Scores if within ±3% of the reference value.
sag_catenary_m
Mid-span sag using exact catenary equation (m)
Scores if within ±3% of the reference value.
wire_length_m
Total wire length in the span using catenary equation (m)
Scores if within ±3% of the reference value.
catenary_constant_m
Catenary constant C = T / w (m)
Scores if within ±3% of the reference value.
Each template is sampled at three tiers. Harder tiers may hide inputs, forcing the model to infer them from the scenario description.
All inputs given
Short spans, all params given, light rail scenarios
Span length restricted to: {'min': 25.0, 'max': 40.0}
All inputs given
Any span length and wire type, all params given
Some inputs hidden
Wire weight hidden, agent must infer from wire diameter and material context
Hidden inputs
Prompt replacement text
The installation uses {{ archetype.description }} practices along the {{ archetype.site_context }} corridor
The exact instruction and parameter contract used to generate this task, pinned to the published library source.
/workspace
Teal lines show Jinja input conditions, not task visibility policy. A line renders only when that input or tool is visible.
1You are a senior electrical engineer specializing in overhead contact line design for rail electrification.2 3## Problem4 5Calculate the mid-span sag (parabolic and exact catenary), wire length, and catenary constant for a single level span of overhead contact wire per EN 50119.6 7## Given8 9| Parameter | Value | Unit |10|-----------|-------|------|11| Span length (L) | {{ span_length_m }} | m |12{% if wire_weight_per_m_n is defined %}13| Wire weight per unit length (w) | {{ wire_weight_per_m_n }} | N/m |14{% endif %}15| Horizontal tension (T) | {{ horizontal_tension_n }} | N |16| Wire diameter | {{ wire_diameter_mm }} | mm |17{% if archetype_description is defined %}18 19### Installation Context20 21{{ archetype_description }}22{% endif %}23 24{% if tool_available %}25## Available Tool26 27A sag-tension calculation tool is available at `/workspace/single-span-sag-tension_calc.py`. Run it with:28 29```bash30python3 /workspace/single-span-sag-tension_calc.py --help31```32 33You may use this tool to verify your calculations or compute values directly.34{% endif %}35 36## Required37 38Calculate the following:39 401. Mid-span sag using the parabolic approximation (m)412. Mid-span sag using the exact catenary equation (m)423. Total wire length in the span using the catenary equation (m)434. Catenary constant C (m)44 45## Applicable Standards46 47- EN 50119 — Railway applications — Fixed installations — Electric traction overhead contact lines48- EN 50367 — Railway applications — Current collection systems — Technical criteria for the interaction between pantograph and overhead contact line49 50## Constraints51 52- No internet access is available. Work from engineering knowledge and the provided tool.53- Use the following equations:54 - Catenary constant: C = T / w, where T is horizontal tension (N) and w is weight per unit length (N/m)55 - Parabolic sag: S = w * L^2 / (8 * T), where L is span length (m)56 - Exact catenary sag: S_cat = C * (cosh(L / (2 * C)) - 1)57 - Wire length (catenary): l = 2 * C * sinh(L / (2 * C))58- The parabolic approximation is valid when sag is less than about 5% of span length. The exact catenary gives the precise result regardless of sag-to-span ratio.59- cosh and sinh are hyperbolic cosine and sine functions respectively.60 61## Output Format62 63Show your step-by-step working in Markdown, including the catenary constant calculation, both sag methods, and the wire length computation. At the end of your solution, include a JSON block with your final answers in exactly this format:64 65```json66{67 "sag_m": <numeric_value>,68 "sag_catenary_m": <numeric_value>,69 "wire_length_m": <numeric_value>,70 "catenary_constant_m": <numeric_value>71}72```73 74Write your complete solution to `/workspace/output.md`.75 Each generated task is drawn from one of these realistic scenario bands.
Site contexts ground each scenario in a real locale the model can use to infer hidden values.
light_rail_copper
Light rail copper contact wire (Cu AC-100)
mainline_catenary
Mainline rail catenary with CuAg AC-120 contact wire (nominal 10.8-12.5 N/m)
high_speed_catenary
High-speed rail catenary with CuAg AC-150 contact wire (nominal 14.5-16.0 N/m)
brisbane-cross-river-rail-mainline-catenary-preview — hard difficulty, some inputs hidden.
Mainline rail catenary with CuAg AC-120 contact wire (nominal 10.8-12.5 N/m). brisbane-cross-river-rail. Required outputs: sag_m, sag_catenary_m, wire_length_m, catenary_constant_m
Scenario context and visible inputs.
Executable tool: single-span-sag-tension_calc.py
Inputs withheld at this difficulty.
Wire weight per m n
wire_weight_per_m_n
Stand-in text in the prompt
The installation uses {{ archetype.description }} practices along the {{ archetype.site_context }} corridor
The scored JSON answer schema.
{
"sag_m": <number>,
"sag_catenary_m": <number>,
"wire_length_m": <number>,
"catenary_constant_m": <number>
}