Examples
Examples
Try the starting example
- Required rise (millimetres)
- 100
- Total horizontal run (millimetres)
- 4000
- Each transition horizontal length (millimetres)
- 500
- Constant middle grade (percent)
- 2.857143
- Constant-grade middle length (millimetres)
- 3000
- Grade profile [run,grade percent] (JSON)
- [[0,0],[500,2.85714285714],[3500,2.85714285714],[4000,0]]
Try another scenario
- Required rise (millimetres)
- 120
- Total horizontal run (millimetres)
- 5000
- Each transition horizontal length (millimetres)
- 1000
- Constant middle grade (percent)
- 3
- Constant-grade middle length (millimetres)
- 3000
- Grade profile [run,grade percent] (JSON)
- [[0,0],[1000,3],[4000,3],[5000,0]]
Calculation method
Calculation method
Constant middle grade (percent)
100×rise/(total run−one transition length); each ramp averages half the middle grade.
Constant-grade middle length (millimetres)
Total run−2×transition length.
Grade profile [run,grade percent] (JSON)
[0,0],[transition,g],[run−transition,g],[run,0].
Symbols and units
- a
- Required rise (millimetres)
- b
- Total horizontal run (millimetres)
- c
- Each transition horizontal length (millimetres)
Use the units shown. A list keeps the order in which you enter its values. The symbol ^ means “raised to the power of”.
Assumptions & limits
Assumptions & limits
- Symmetric linear grade ramps from level to constant grade and back; each transition consumes supplied run. Supported limits: All numeric inputs and computed intermediates must remain finite. Supported numeric input magnitude is zero or 1e-12 through 1e12 in absolute value; reject values outside this bounded range. All lists/JSON record tables are limited to 100 records unless a stricter bound is stated; reject malformed record arity and wrong member types. Total run>0; 0<=transition<=total run/2; rise>=0.
Are these inputs private?
These calculations run in your browser. A shared link contains the values you choose to share. Only questions submitted to the separate AI finder are sent to OpenAI.