LIVEdataset aec-bench@releasetasks 552models 18last submission · built
mechanicalwith-tool

Friction Loss Hazen Williams

Calculates sprinkler pipe friction loss using the imperial Hazen-Williams equation with flow in gpm, length in feet, and diameter in inches. The template includes fitting equivalent length and reports pipe-only and total pressure loss in psi.

with-tool: The model is given an executable Python calculator script.

How this task is generated

One template produces many comparable benchmark tasks while keeping the scoring contract fixed.

  1. 01

    Template

    The reusable contract shown on this page.

  2. 02

    Scenario

    An archetype and site context are sampled.

  3. 03

    Difficulty tier

    Inputs may be hidden at harder tiers.

  4. 04

    Task prompt

    The model responds with the declared outputs.

Parameters

Inputs the model receives, and the outputs it is scored on.

Inputs

5 inputs

Always given

Included directly in every task prompt.

5
  • Flow rate

    flow_rate_gpm

    Sprinkler pipe flow rate

    1 – 5000 gpm
  • Pipe length

    pipe_length_ft

    Straight pipe length

    0.1 – 2000 ft
  • Pipe internal diameter

    pipe_internal_diameter_in

    Internal pipe diameter

    0.25 – 24 in
  • Hazen williams c

    hazen_williams_c

    Hazen-Williams C factor

    40 – 160
  • Fitting equivalent length

    fitting_equivalent_length_ft

    Equivalent length for fittings

    0 – 1000 ft

Scored outputs

4 outputs

Friction loss per ft psi

friction_loss_per_ft_psi

Friction loss per foot

Scores if within ±3% of the reference value.

Equivalent length ft

equivalent_length_ft

Total equivalent pipe length

Scores if within ±3% of the reference value.

Pipe friction loss psi

pipe_friction_loss_psi

Straight-pipe friction loss

Scores if within ±3% of the reference value.

Total pressure loss psi

total_pressure_loss_psi

Total pressure loss including fittings

Scores if within ±3% of the reference value.

Difficulty

Each template is sampled at three tiers. Harder tiers may hide inputs, forcing the model to infer them from the scenario description.

All inputs remain visible at every tier

For this template, difficulty scales through parameter and scenario ranges rather than hidden information.

easy:
All parameters given for a sprinkler branch line
medium:
All parameters given across sprinkler pipe contexts
hard:
All parameters given for a sprinkler feed main

Task bundle

The exact instruction and parameter contract used to generate this task, pinned to the published library source.

/workspace

  • instruction.md
  • friction-loss-hazen-williams_calc.py

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 mechanical engineer specializing in fire sprinkler hydraulics.2 3## Task4 5Calculate the Hazen-Williams friction loss for the sprinkler pipe in {{ site_context }}.6 7## Given8 9| Parameter | Value | Unit |10| --- | ---: | --- |11| Flow rate | {{ flow_rate_gpm }} | gpm |12| Straight pipe length | {{ pipe_length_ft }} | ft |13| Internal pipe diameter | {{ pipe_internal_diameter_in }} | in |14| Hazen-Williams C factor | {{ hazen_williams_c }} | - |15| Fitting equivalent length | {{ fitting_equivalent_length_ft }} | ft |16 17## Constraints18 19- No internet access is available.20- Use the imperial Hazen-Williams form `p_f = 4.52 Q^1.85 / (C^1.85 d^4.87)` for pressure loss in psi per foot.21- Total equivalent length equals straight pipe length plus fitting equivalent length.22- Report straight-pipe pressure loss and total pressure loss including fittings.23 24{% if tool_available %}25## Available Tool26 27A calculation tool is available at `/workspace/{{ meta.name }}_calc.py`. Run it with:28 29```bash30python3 /workspace/{{ meta.name }}_calc.py --help31```32 33You may use this tool to verify your calculations or compute values directly.34{% endif %}35 36## Required37 38Calculate:39 40- Friction loss per foot (`friction_loss_per_ft_psi`)41- Total equivalent pipe length (`equivalent_length_ft`)42- Straight-pipe friction loss (`pipe_friction_loss_psi`)43- Total pressure loss including fittings (`total_pressure_loss_psi`)44 45## Output Format46 47Show your step-by-step working in Markdown. At the end of your solution, include a JSON block with your final answers in exactly this format:48 49```json50{51 "friction_loss_per_ft_psi": <numeric_value>,52 "equivalent_length_ft": <numeric_value>,53 "pipe_friction_loss_psi": <numeric_value>,54 "total_pressure_loss_psi": <numeric_value>55}56```57 58Write your complete solution to `/workspace/output.md`.59

Scenario archetypes

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.

Branch line

branch_line

Sprinkler branch line friction-loss calculation

sprinkler-branch-linefire-protection-zone
Parameter ranges
flow_rate_gpm
20 – 300
pipe_length_ft
10 – 200
pipe_internal_diameter_in
1 – 4
hazen_williams_c
100 – 140
fitting_equivalent_length_ft
5 – 80

Feed main

feed_main

Sprinkler feed main friction-loss calculation

sprinkler-feed-mainfire-main
Parameter ranges
flow_rate_gpm
200 – 2000
pipe_length_ft
50 – 800
pipe_internal_diameter_in
4 – 12
hazen_williams_c
100 – 140
fitting_equivalent_length_ft
20 – 300

Example task

sprinkler-feed-main-feed-main-previewhard difficulty, all inputs given.

Sprinkler feed main friction-loss calculation. sprinkler-feed-main. Required outputs: friction_loss_per_ft_psi, equivalent_length_ft, pipe_friction_loss_psi, total_pressure_loss_psi

The model sees

Scenario context and visible inputs.

flow_rate_gpm
200 to 2000 gpm
pipe_length_ft
50 to 800 ft
pipe_internal_diameter_in
4 to 12 in
hazen_williams_c
100 to 140
fitting_equivalent_length_ft
20 to 300 ft

Executable tool: friction-loss-hazen-williams_calc.py

The model must infer

Inputs withheld at this difficulty.

Nothing. All inputs are supplied.

The model must produce

The scored JSON answer schema.

{
  "friction_loss_per_ft_psi": <number>,
  "equivalent_length_ft": <number>,
  "pipe_friction_loss_psi": <number>,
  "total_pressure_loss_psi": <number>
}
  • friction_loss_per_ft_psi · scored within ±3%
  • equivalent_length_ft · scored within ±3%
  • pipe_friction_loss_psi · scored within ±3%
  • total_pressure_loss_psi · scored within ±3%