Simple Vertical Curve Calculation and Formula
The calculator for this page is switched off while it is checked. The formula is below, and the worked example in the article shows how to use it by hand.
A simple vertical curve is a parabolic road or rail profile that smoothly connects two grades. Enter the incoming and outgoing grades and the curve length to calculate the elevation change at a chosen distance, the curve’s grade there, and its elevation when the starting elevation is known.
Formula
For a simple vertical curve with grades changing at a constant rate, the elevation offset from the starting tangent at distance x is:
Offset = (g₂ − g₁)x² / (200L)
When grades are expressed as percentages, the elevation at distance x is:
E(x) = E₀ + (g₁/100)x + [(g₂ − g₁)/100]x²/(2L)
The grade at that location is:
g(x) = g₁ + (g₂ − g₁)x/L
- g₁: incoming grade, in percent. A positive grade rises in the direction of travel; a negative grade falls.
- g₂: outgoing grade, in percent.
- L: total curve length, in metres here. Use feet instead if all distances and elevations are in feet.
- x: distance from the curve’s beginning, in the same length unit as L, with 0 ≤ x ≤ L.
- E₀: elevation at the beginning of the curve, in metres here.
- E(x): elevation at distance x; the offset is the curve’s vertical difference from the incoming tangent at that point.
The calculator uses a signed grade difference, g₂ − g₁. If the grades are percentages, dividing by 100 converts them to decimal slopes. Keep length and elevation units consistent: metric calculations use metres; customary calculations use feet. The numerical grade values remain percentages in either system.
Worked Example
Use the calculator’s defaults: g₁ = 2%, g₂ = −2%, L = 100 m, x = 40 m, and E₀ = 100 m. The grade difference is −4 percentage points.
- Incoming-tangent rise over 40 m: (2/100) × 40 = 0.8 m.
- Curve offset: [(−2 − 2)/100] × 40²/(2 × 100) = −0.32 m.
- Elevation: 100 + 0.8 − 0.32 = 100.480 m.
- Grade at 40 m: 2 + [(−2 − 2) × 40/100] = 0.400%.
- Elevation change from the incoming tangent: −0.320 m.
The negative offset means the curve lies below the straight extension of the incoming grade at this point. It does not mean the elevation itself is negative.
How a Simple Vertical Curve Works
A vertical curve makes the grade change gradually rather than at a sharp intersection of two straight slopes. In the standard simple parabolic model, grade varies linearly with distance, so elevation varies quadratically. The curve is usually described by its beginning, end, length, and the two grades it connects.
If the grades are equal, g₂ − g₁ = 0, and the formula gives no vertical curve offset: the profile remains a constant grade. If the outgoing grade is lower than the incoming grade, the signed difference is negative; if it is higher, the difference is positive. This sign convention works for both crest and sag curves without switching formulas.
Finding Curve Stations and the High or Low Point
Survey and design plans often describe locations by stationing. The curve’s distance x is measured from its beginning, not from an unrelated project datum. If the beginning station is known, add x to obtain the station being evaluated.
A high or low point occurs where the curve grade is zero. Set g(x) = 0 and solve:
x = −g₁L/(g₂ − g₁)
This point is on the curve only if the result falls from 0 through L. For the example, the grade reaches zero at 50 m, halfway along the curve. Substituting into the elevation formula gives 100.500 m, the maximum elevation. A curve does not necessarily contain a high or low point; if its grade never reaches zero within its limits, elevation continues rising or falling throughout.
When to Use the Calculation—and Its Limits
The equations are useful for calculating preliminary profile elevations, checking a design value, or determining the grade at a point on a specified parabolic curve. They provide geometric results only. Choosing an appropriate curve length and confirming visibility, comfort, drainage, clearances, and other design requirements require project information and applicable engineering criteria; the formula alone does not establish that a design is suitable or safe.
This calculator also does not check whether x is within the curve, so keep it between 0 and L. Its output is a theoretical profile elevation, not necessarily the finished surface elevation if the design includes other features or adjustments. Use the project’s defined vertical datum and consistent units.
Common Calculation Mistakes
- Mixing percent and decimal grades: Enter 2 for 2%, not 0.02. The equations divide percentage grades by 100 where needed.
- Using the wrong distance origin: x starts at the curve’s beginning, not at the project’s zero station or the curve midpoint.
- Mixing feet and metres: If L is in feet, use x in feet and E₀ in feet. Convert the final result only after calculating.
- Dropping the sign: Preserve the order g₂ − g₁. Reversing it reverses the calculated curve offset.
- Rounding too early: Keep full precision in intermediate steps and round the reported elevation and grade only at the end.
Frequently Asked Questions
What is the formula for a simple vertical curve?
The elevation is E(x) = E₀ + (g₁/100)x + [(g₂ − g₁)/100]x²/(2L) when grades are percentages. Here, x is measured from the curve’s beginning.
Is a simple vertical curve parabolic?
Yes. The standard simple vertical curve is a parabola: its grade changes at a constant rate along the curve, while its elevation follows a quadratic equation.
How do I calculate the midpoint elevation?
Use the elevation formula with x = L/2. For the worked example, that gives 100.500 m.
How do I find the highest or lowest point?
Find where the curve grade equals zero using x = −g₁L/(g₂ − g₁). Check that the resulting distance lies within the curve, then use it in the elevation equation.
Can I use this formula with feet?
Yes. Use feet for both curve length and distance, and feet for the starting elevation. Keep grades as percentages and apply the same equations.
Related
Formula used
in g1 | Incoming grade | % | 2 | - in g2 | Outgoing grade | % | -2 | - in l | Curve length | m | 100 | 0 in x | Distance from start | m | 40 | 0 in e0 | Starting elevation | m | 100 | - out elev | Elevation at distance | m | e0 + (g1 / 100) * x + ((g2 - g1) / 100) * x^2 / (2 * l) | 3 out grade | Grade at distance | % | g1 + (g2 - g1) * x / l | 3 out change | Curve elevation change | m | (g2 - g1) / 100 * x^2 / (2 * l) | 3
Each line is one input (in, sel, list) or one result (out: label, unit, formula, decimals). How the calculators work
Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.