Flat Plate Skin Friction Calculator
Flat Plate Skin Friction Calculator
Local C_f and average C̄_f side by side, clearly labelled, with the wall shear, the total drag force and the laminar/turbulent split of that drag — because confusing a local coefficient with a plate average is the commonest error on this calculation and it is worth 22 per cent at Re = 2 × 10⁶.
Local and average skin friction, wall shear and plate drag
A 1 m × 0.5 m plate in air at 20 °C and 30 m/s, both faces wetted, transition at Re = 5 × 10⁵, Schlichting log-law local fit and the exact integral average
A local coefficient, an average, and the integral that separates them
Laminar: Cf = 0.66411467 Rex−1/2 → C̄f = 1.32822934 ReL−1/2 (exactly twice)
Turbulent power law: Cf = a Rex−n → C̄f = a/(1−n) ReL−n (so 0.0592 → 0.074 and 0.027 → 0.0315)
With a laminar run to Retr: C̄f = 0.074 ReL−1/5 − A/ReL with A = 0.074 Retr4/5 − 1.32822934 Retr1/2
- C_f(x)
- LOCAL skin-friction coefficient, τ_w(x)/(½ρU²), at one station. This is what a y+ estimate needs, what a solver reports as a wall field, and what you plot against x
- C̄_f
- AVERAGE skin-friction coefficient over 0 to L, also written C_F or C_D,f. This is what a drag force needs. It is an integral, so it has no jump at transition and it always lags the local value’s behaviour
- a, n
- the coefficient and exponent of a turbulent power law. Integrating x^(−n) divides by (1−n), so the average is a/(1−n) times Re^(−n): 0.0592/(1−0.2) = 0.074 and 0.027/(1−1/7) = 0.0315. White prints 0.031 for the second, which is 1.6 per cent below the exact integral of his own local law
- A
- the laminar correction. It is not a table lookup: A = 0.074 Re_tr^(4/5) − 1.32822934 Re_tr^(1/2), which is the turbulent integral you must remove between 0 and Re_tr minus the laminar integral you must put back. At Re_tr = 5 × 10⁵ it evaluates to 1742.5, which is where the printed 1742 comes from
- log-law fit
- (2 log₁₀ Re_x − 0.65)^(−2.3) has no elementary antiderivative, so its average is taken as White’s closed-form integration 0.523/ln²(0.06 Re_L). Differentiating that product returns the local value to within 3 per cent over 10⁷ to 10⁹, which is how the pair was checked here
- τ_w
- wall shear stress, in Pa. Local at a station. Multiply by area only if you are using the average coefficient; multiplying the local trailing-edge stress by the plate area is the error this page is about
- D
- friction drag force, one or both faces. Skin friction only — a real plate also has leading-edge and trailing-edge pressure drag, and a real body has form drag that dwarfs this
Worked example
A 1 m × 0.5 m plate in air at 20 °C and 30 m/s, both faces wetted, transition at Re = 5 × 10⁵, Schlichting log-law local fit and the exact integral average
ν = 1.8134×10−5/1.2041 = 1.50602×10−5 m²/s, so ReL = 30 × 1 / 1.50602×10−5 = 1.992×106 and ½ρU² = 0.5 × 1.2041 × 900 = 541.85 Pa.
LOCAL Cf at the trailing edge, Schlichting: (2 log10(1.992×106) − 0.65)−2.3 = (2 × 6.29907 − 0.65)−2.3 = 11.94815−2.3 = 0.0033291. That gives τw = 0.0033291 × 541.85 = 1.8038 Pa at x = L and nowhere else.
AVERAGE, by integrating. Transition sits at Re = 5×105, so the laminar part of the integral is 1.32822934 √(5×105) = 1.32822934 × 707.107 = 939.10, and the turbulent part is 0.523[ReL/ln²(0.06ReL) − Retr/ln²(0.06Retr)] = 0.523[1.992×106/(11.7025)² − 5×105/(10.3090)²] = 0.523[14543 − 4705] = 5145.4.
So C̄f = (939.10 + 5145.4)/1.992×106 = 0.0030544. Compare it with the local 0.0033291: the average is 8.3 per cent LOWER than the local value, because the long laminar run pulls it down even though the turbulent part of the plate has higher friction than the average. Getting the sign of that difference right is not something you can guess.
Drag per face: 0.0030544 × 541.85 × 1 × 0.5 = 0.8275 N. Both faces: 1.655 N. The laminar run contributes 939.10/6084.5 = 15.4 per cent of that, while occupying 5×105/1.992×106 = 25.1 per cent of the length — the laminar part of a plate is long and cheap, the turbulent part short and expensive.
The error you would make by using the local coefficient over the whole area: 0.0033291/0.0030544 = 9.0 per cent too much drag. On a fully laminar plate the same mistake goes the other way and is worth a factor of two.
Three published averages against the local value at the same Reynolds number — the reason this page exists
| Re | Local C_f, Schlichting log-law | Prandtl–Schlichting average | One-seventh average 0.074 Re^(−1/5) | Laminar-corrected average, Re_tr = 5 × 10⁵ |
|---|---|---|---|---|
| 1 × 10⁶ | 0.0037435 | 0.0044708 (+19.4 %) | 0.0046691 (+24.7 %) | 0.0029268 (−21.8 %) |
| 2 × 10⁶ | 0.0033257 | 0.0039403 (+18.5 %) | 0.0040647 (+22.2 %) | 0.0031934 (−4.0 %) |
| 5 × 10⁶ | 0.0028703 | 0.0033476 (+16.6 %) | 0.0033690 (+17.4 %) | 0.0030205 (+5.2 %) |
| 1 × 10⁷ | 0.0025801 | 0.0030037 (+16.4 %) | 0.0029460 (+14.2 %) | 0.0027718 (+7.4 %) |
| 1 × 10⁸ | 0.0018705 | 0.0021283 (+13.8 %) | 0.0018588 (−0.6 %) | 0.0018414 (−1.6 %) |
| 1 × 10⁹ | 0.0014101 | 0.0015706 (+11.4 %) | 0.0011728 (−16.8 %) | 0.0011711 (−16.9 %) |
The three LOCAL correlations, and where the one-seventh law stops being usable
| Re_x | Schlichting log-law | White 0.027 Re^(−1/7) | One-seventh 0.0592 Re^(−1/5) | Spread, max over min |
|---|---|---|---|---|
| 1 × 10⁵ | 0.0059554 | 0.0051768 | 0.0059197 | 15.0 % |
| 5 × 10⁵ | 0.0042853 | 0.0041358 | 0.0043144 | 4.3 % |
| 1 × 10⁶ | 0.0037435 | 0.0037516 | 0.0037352 | 0.44 % |
| 1 × 10⁷ | 0.0025801 | 0.0027000 | 0.0023569 | 14.6 % |
| 1 × 10⁸ | 0.0018705 | 0.0019431 | 0.0014870 | 30.7 % |
| 1 × 10⁹ | 0.0014101 | 0.0013985 | 0.0009382 | 49.1 % |
The laminar correction constant A, derived rather than looked up
| Transition Re | 0.074 Re_tr^(4/5) | 1.32822934 Re_tr^(1/2) | A, derived here | A as usually printed |
|---|---|---|---|---|
| 1 × 10⁵ | 735.3 | 419.9 | 315.4 | not usually tabulated |
| 3 × 10⁵ | 1781.9 | 727.4 | 1054.6 | 1050 |
| 5 × 10⁵ | 2681.7 | 939.1 | 1742.5 | 1742 |
| 1 × 10⁶ | 4669.1 | 1328.2 | 3340.9 | 3300 or 3529 |
| 3 × 10⁶ | 11277.7 | 2300.3 | 8943.6 | 8700 |
Local against average: which one your number is, why the difference does not have a fixed sign, and what the plate’s laminar run is worth
There are two skin-friction coefficients and they answer different questions. Cf(x) is local: it is the wall shear stress at one station divided by the free-stream dynamic pressure, it varies along the plate, and it is what you need for a y+ estimate, a first-cell height, or a comparison against a solver’s wall-shear field. C̄f is an average over a length: it is the integral of the local value divided by that length, and it is the only one of the two that can be multiplied by an area to give a force. Mixing them is not a small error. On a fully laminar plate the average is exactly twice the local value at the trailing edge — that factor of two falls straight out of integrating x−1/2 and is the cleanest illustration there is. On a turbulent plate the factor is smaller but the sign is no longer reliable, which is worse.
The sign is not reliable because two effects fight. Local friction falls along the plate, so an average that includes the high-friction front must exceed the local value at the back. But if the front of the plate is laminar, its friction is far LOWER than the turbulent friction behind it, and the average is dragged down instead. At ReL = 2×106 with transition at 5 × 105, the three averages most often printed come out at +18.5, +22.2 and −4.0 per cent relative to the local value at the same Reynolds number. They do not agree with each other and they do not share a sign. Anyone who has learned a rule of thumb for converting one into the other has learned it for one Reynolds number and one transition assumption.
An average is an integral, so build it as one. The default option on this page integrates whichever local law you chose, from the leading edge, laminar run and all. For a power law that integral is elementary: Cf = a Re−n averages to a/(1−n) Re−n, which turns 0.0592 into 0.074 and 0.027 into 0.0315. For the log-law fit there is no elementary antiderivative, so the closed-form integration 0.523/ln²(0.06 Re) is used instead; differentiating it returns the local law to within 3 per cent over 107–109, which is how the pair was checked. And the famous laminar correction is not a table: A = 0.074 Retr4/5 − 1.32822934 Retr1/2, which evaluates to 1742.5 at Retr = 5 × 105 — the printed 1742 — and to 1054.6 at 3 × 105, where textbooks print 1050. Deriving it means the page can answer for transition Reynolds numbers no table lists.
The laminar run is long and cheap; the turbulent run is short and expensive. On the default plate here, transition sits a quarter of the way along, but the laminar quarter contributes only about 15 per cent of the drag. That asymmetry is why a fully turbulent RANS run — which is what you get from k-ω SST or k-ε with no transition model, whether or not anybody decided it — overpredicts the drag on an untripped plate, and by how much: the laminar share printed above IS that overprediction, to a good approximation. If you are chasing a 10 per cent discrepancy against a measured drag, look there before you look at the mesh. The thickness page shows how far the transition band moves for the same plate, and the Reynolds number page gives the three bands.
What this page is not. It is skin friction on a flat plate at zero pressure gradient, on one or both faces, two-dimensional, incompressible, smooth. A real body has form drag that is usually larger; a rough surface has higher friction and eventually a friction that stops depending on Reynolds number at all; a compressible boundary layer needs a reference-temperature correction; a plate with an adverse pressure gradient has a thicker layer, lower friction and a risk of separation that no flat-plate correlation will warn you about. Use the shape-factor page for that last one, since the shape factor is what tells you separation is coming. What the numbers here are good for is a sanity check with a known answer: if your solver’s integrated wall force on a flat plate at Re = 2×106 is not within a few per cent of this, the mesh or the wall treatment is wrong, and it is much cheaper to find that out on a plate than on a hull.
Frequently asked questions
Which one do I multiply by the area to get a force?
The average, C̄f, always. D = C̄f × ½ρU² × L × b, doubled if both faces are wetted. Using the local coefficient at the trailing edge instead understates the drag on a fully turbulent plate by about 15 per cent and overstates it by a factor of two on a fully laminar one. This page prints both and labels them, and it prints the ratio, so you can see at a glance how much the distinction is worth for your case.
Which one do I use for a y+ or first-cell-height estimate?
The local one, at the station you are meshing. y+ is a local statement about the wall shear at a point, so it needs the local coefficient; the y+ page uses the same three local correlations offered here, in the same order, for that reason. The defect that spoiled the page that one replaced was exactly this: it used an average coefficient to size a cell at a station, so the cells were too big near the leading edge and too small at the back.
Why do the five average correlations disagree with each other?
Because four of them assume the plate is turbulent from the leading edge and one does not, and because the four that do are fits to different data over different Reynolds-number ranges with different functional forms. Options 2 and 3 differ ONLY by the laminar correction, so the gap between them is exactly what the laminar run is worth. Options 1 and 4 are both log-law-based and agree to about 2 per cent over 106 to 109. Option 2 has the wrong exponent for high Reynolds numbers and falls 17 per cent low by 109. The first option is the honest one because it is the only one that uses your transition Reynolds number.
Is the average really exactly twice the local value in laminar flow?
Yes, exactly, and it is worth doing the two lines. Cf = a Rex−1/2; the average over 0 to L is (1/L)∫a(ν/Ux)1/2dx = 2a(ν/UL)1/2 = 2a ReL−1/2. The factor 2 is 1/(1−n) with n = 1/2. The same rule gives 1/(1−0.2) = 1.25 for the one-seventh law (0.0592 → 0.074) and 1/(1−1/7) = 7/6 for White’s power law (0.027 → 0.0315). White prints 0.031 rather than 0.0315, which is 1.6 per cent below the exact integral of his own local law; that is a rounding, not an error, but this page uses 0.0315 because it is derivable.
Where does 1742 come from?
From removing the turbulent integral over the laminar part of the plate and putting the laminar one back: A = 0.074 Retr4/5 − 1.32822934 Retr1/2. At Retr = 5×105 that is 2681.7 − 939.1 = 1742.5. The two-term derivation also gives 1054.6 where books print 1050, 3340.9 where they print 3300 or 3529, and 8943.6 where they print 8700 — the published values disagree with each other by up to 6 per cent because different sources round the laminar coefficient differently and some fit rather than derive. The derivation is what this page uses, for any transition Reynolds number you like.
Should I be using the laminar-corrected average for a CFD comparison?
Only if your run has a transition model in it. A standard fully turbulent RANS run has no laminar region at all, so the fully turbulent averages are the right comparison for it — and the laminar-corrected value is the right comparison for the experiment, which is why CFD and experiment differ on an untripped plate by roughly the laminar share of the drag printed above. Set the transition Reynolds number to the tripped option to see what your solver is actually computing.
Does surface roughness change this?
Substantially, and none of the correlations here know about it. A rough plate has higher friction, and above a roughness Reynolds number ε⁺ = εu*/ν of about 70 the friction stops depending on the flow Reynolds number altogether — the fully rough regime. The pipe friction page computes ε⁺ and shows where that limit bites for internal flow; the external-flow equivalent needs an equivalent-sand-grain roughness and a wall function that accepts one. If your plate is rough, treat everything here as the smooth-wall lower bound.
The drag from my solver is 10 per cent above this. Is my mesh wrong?
Check four things before the mesh. One: is the solver fully turbulent while this page has a laminar run? That gap is printed above as the laminar share. Two: are you comparing an integrated wall shear force or a total force that includes leading-edge pressure drag? On a plate of finite thickness the latter can be several per cent. Three: is the reported force for one face or two? Four: is the y+ in the range your wall treatment wants — a wall-function mesh with y+ in the buffer layer, 5 to 30, will be wrong by roughly this much and in this direction. Only after those is it worth a mesh refinement study, and the grid convergence page is how to do one.
Related calculators
References
- H. Blasius (1908), Grenzschichten in Flüssigkeiten mit kleiner Reibung. The laminar coefficients 0.66411467 (local) and 1.32822934 (average) are not quoted: f + ½ff″ = 0 was integrated for this build to f″(0) = 0.33205734, and the average is exactly twice the local value by integration.
- H. Schlichting and K. Gersten, Boundary-Layer Theory, 9th edition, for the local log-law fit Cf = (2 log10Rex − 0.65)−2.3 and the Prandtl–Schlichting average 0.455/(log10ReL)2.58. Equations cited; no table reproduced. Every figure in the tables above was recomputed from the closed forms.
- F. M. White, Fluid Mechanics and Viscous Fluid Flow, for Cf = 0.027 Rex−1/7, the average 0.523/ln²(0.06 ReL), and the total-drag form 0.031 ReL−1/7. The last of those is 1.6 per cent below the exact integral 0.0315 ReL−1/7 of his own local law; this page uses the exact integral and says so.
- The laminar-corrected average 0.074 ReL−1/5 − 1742/ReL appears in Schlichting, in White, and in Incropera and DeWitt with the same 1742. The constant was re-derived here rather than taken from any of them: A = 0.074 Retr4/5 − 1.32822934 Retr1/2 gives 1742.5 at Retr = 5×105, and the same expression reproduces the printed 1050 at 3×105, which is the identity that confirms the derivation.
- K. E. Schoenherr (1932), Resistance of flat surfaces moving through a fluid, and the ITTC 1957 friction line 0.075/(log10Re − 2)², used here only as independent checks on the turbulent averages: at Re = 107 the ITTC line gives 0.003000 and Prandtl–Schlichting gives 0.0030037, a 0.1 per cent agreement between two independently fitted lines, which is what makes the closed forms above trustworthy to about that level.
- US Standard Atmosphere 1976 (NOAA/NASA/USAF) for air viscosity via Sutherland’s formula, and the NIST Chemistry WebBook for water. Both US Government works. The values are identical to those on the y+ page, so a Reynolds number computed there and here agrees to the last digit.
Setup guidance, not validation. Correlations have ranges of validity and cell-count estimates are order-of-magnitude. A converged simulation is not a correct one. Full disclaimer at calcengines.com/disclaimer/
