profile_trailing_edge_gap — PROFILE measure op

• Data kinds: pairs → measurement

• Call: import fullseye as fs; fs.ledger.profile_trailing_edge_gap(contour, n=201) (to call the implementation directly, import profileops; profileops.profile_trailing_edge_gap(contour, n=201); from the registry, opsprofile.get("profile_trailing_edge_gap"))

Usage

Trailing-edge gap (as a fraction of the chord). The distance between the trailing-edge ends of the upper and lower surfaces.

The default NACA 4-digit coefficient (-0.1015) leaves the trailing edge slightly open, so it is correct that the result is not 0. With the closing coefficient (-0.1036) it approaches 0.

Procedure: take profile_sides(contour, n) (normalised to chord length 1, upper and lower surfaces linearly interpolated at each of the n equal divisions of the chord) and return upper - lower at the first position, seen from the x = 1 side, where both upper and lower were obtained. The unit is chord ratio (dimensionless).

• contour: (N, 2) (x, y), 8 points or more, finite, and a closed section (if the gap between the end points exceeds 20 % of the whole, it is "not closed" and gives ValueError).

• n: number of chord divisions, 5 or more (default 201). If coarse, it measures at a position ahead of the trailing edge, and for a tapered trailing edge the result is larger than the actual gap. The finer, the closer to the trailing edge.

• Returns: float (chord ratio). Measured (n=201): profile_synth_naca4("2412") gives 0.0039, and even closed_te=True gives 0.0015 -- it is not 0 even with a closed trailing edge because the last position where both upper and lower can be obtained is slightly ahead of the trailing edge, and there is still thickness there. The sign is positive as long as the y of the upper surface is larger than that of the lower.

• Failure: ValueError (shape, not closed, not even 1 position where upper and lower are both obtained, upper and lower surfaces coincide with thickness 0).

It returns the same quantity as the last value of profile_thickness, at "only the 1 point at the trailing edge". Comparing with the ground truth made by profile_synth_naca4(closed_te=True) gives a cross-check.

Detailed usage guide

• profile_metrology family guide

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

• profile_shape_inspection — py -3.11 examples/profile_shape_inspection.py

Ops the type connects to (they accept measurement as input)

—

Same category (measure)

profile_sides · profile_thickness · profile_camber · profile_leading_edge_radius


*Provenance: profileops.py — PROFILE operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.