The NACA 4-digit series is a fundamental set of aerodynamic shapes developed by the National Advisory Committee for Aeronautics. These airfoils are defined by a series of mathematical equations that describe the mean camber line and the thickness distribution along the chord of the wing profile.
The Meaning of the Digits
When you see a designation like NACA 2412, each number represents a specific geometric property:
First Digit (2): Represents the maximum camber in percent of the chord (0.02c).
Second Digit (4): Represents the position of the maximum camber in tenths of the chord (0.4c).
Third & Fourth Digits (12): Represent the maximum thickness of the airfoil in percent of the chord (0.12c).
Example Analysis: NACA 4415
For a 1000mm chord wing:
Max Camber: 4% of 1000mm = 40mm.
Position: 4/10 of chord = 400mm from the leading edge.
Thickness: 15% of 1000mm = 150mm.
Mathematical Foundation
The thickness distribution ($y_t$) is calculated using a semi-empirical formula that ensures a smooth profile from the leading edge to the trailing edge. The mean camber line calculation depends on whether the point is forward or aft of the maximum camber position ($p$). These calculations are critical for determining the lift coefficient ($C_l$) and moment coefficient ($C_m$) in subsonic flight conditions.
Applications in Engineering
NACA airfoils are widely used in general aviation. For instance, the famous Cessna 172 uses a NACA 2412 airfoil at the wing root. These shapes provide a reliable balance between lift generation, stall characteristics, and structural volume for fuel tanks and spars.
function calculateNACA() {
var m = parseFloat(document.getElementById('maxCamber').value);
var p = parseFloat(document.getElementById('camberPos').value);
var t = parseFloat(document.getElementById('maxThickness').value);
var c = parseFloat(document.getElementById('chordLength').value);
if (isNaN(m) || isNaN(p) || isNaN(t) || isNaN(c)) {
alert("Please enter all geometric parameters.");
return;
}
// Designations
var m_str = Math.round(m).toString();
var p_str = Math.round(p).toString();
var t_str = Math.round(t).toString().padStart(2, '0');
document.getElementById('resDesignation').innerText = "NACA " + m_str + p_str + t_str;
// Unit conversions
var M = m / 100;
var P = p / 10;
var T = t / 100;
// Results
var maxCamberHeight = M * c;
var maxThicknessVal = T * c;
// Calculate thickness at specific points using NACA formula
// yt = 5*t*c * [0.2969*sqrt(x/c) – 0.1260*(x/c) – 0.3516*(x/c)^2 + 0.2843*(x/c)^3 – 0.1015*(x/c)^4]
function getThickness(xc) {
return 5 * T * c * (0.2969 * Math.sqrt(xc) – 0.1260 * xc – 0.3516 * Math.pow(xc, 2) + 0.2843 * Math.pow(xc, 3) – 0.1015 * Math.pow(xc, 4));
}
var t25 = getThickness(0.25) * 2; // Total thickness (upper + lower)
var t50 = getThickness(0.50) * 2;
// Leading Edge Radius formula: r_le = 1.1019 * (t/c)^2 * c
var leRadius = 1.1019 * Math.pow(T, 2) * c;
document.getElementById('resCamberH').innerText = maxCamberHeight.toFixed(2) + " mm";
document.getElementById('resThicknessVal').innerText = maxThicknessVal.toFixed(2) + " mm";
document.getElementById('resThick25').innerText = t25.toFixed(2) + " mm";
document.getElementById('resThick50').innerText = t50.toFixed(2) + " mm";
document.getElementById('resLERadius').innerText = leRadius.toFixed(3) + " mm";
document.getElementById('resultsArea').style.display = 'block';
}