This study is a methodology demonstration, not a calibrated prediction. The validation strategy is therefore (1) check internal consistency, (2) check qualitative agreement with the surfboard CFD literature, and (3) be honest about the absolute-magnitude under-prediction inherent in the chosen turbulence treatment.
| Check | Result | Status |
|---|---|---|
| Watertight STL (every edge in 2 triangles) | 0 non-manifold edges | ✓ |
| Mesh imports cleanly | fin patch with 47 878 → 9 364 faces |
✓ |
| Layer coverage on fin | 97.4 % | ✓ |
| y⁺ avg / max on fin | 14 / 123 | ✓ (log-law region) |
| Residuals at convergence (U, k, ω) | ~10⁻⁸ | ✓ |
| Residuals at convergence (p) | ~10⁻⁵ | ✓ |
| Forces constant over last 250 iter | ΔCl < 10⁻⁵ | ✓ |
| Manual force projection vs forceCoeffs | match all sig figs | ✓ |
| Feature | This study | Literature (3-fin thruster, Sakellariou 2019) |
|---|---|---|
| Cl–α slope (linear regime) | 0.0058 /deg | 0.005-0.010 /deg (varies with fin geometry) |
| Drag-bucket location | α ≈ −3° | α ≈ 0° (symmetric foils); skews with camber |
| L/D peak | past +10° | typically 6-12° depending on geometry |
| Cl–α linearity range | full ±10° | linear to α ≈ ±10°, stall onset ~12-18° |
| Cd asymmetry across α=±10° | ~30% | reported in cambered/tapered fins |
The lift-curve slope of 0.0058 /deg sits at the lower end of the literature range. This is consistent with the noted ~30-40% under-prediction expected from fully turbulent k–ω SST without a transition model.
For an isolated AR = 1.46 wing with 37° sweep:
- 2D thin-airfoil theory: dCₗ/dα = 2π / rad = 0.110 /deg
- Helmbold finite-AR correction (a₀ = 2π):
a = a₀ / (sqrt(1 + (a₀/πAR)²) + a₀/πAR)= 2.05 /rad = 0.0358 /deg - With a cos(37°) sweep factor applied to a₀: ≈ 0.034 /deg
Compared to the Helmbold baseline of ≈ 0.036 /deg, the CFD recovers 0.0058 / 0.0358 ≈ 16% of inviscid slope at this mesh and turbulence treatment. That's well below the rule-of-thumb 60-80% recovery for attached subsonic flow, and reflects the combined effect of:
- Fully-turbulent treatment of the boundary layer
- Transitional Re causing over-prediction of friction drag
- Mesh resolution at the leading edge limiting suction-peak capture
To reduce these errors, in priority order:
- Add a γ-Reθ transition model (largest single improvement)
- Refine LE surface to level 6+ (modest improvement, much higher cost)
- Use a no-slip board boundary (changes the answer but isn't more correct unless the board hull is also resolved)
A direct comparison to:
- Carswell (2007) wind-tunnel data on the RedX fin — closest publicly available experimental data on a single surfboard fin. Carswell reports Cl, Cd vs α at multiple speeds. A side-by-side would calibrate the expected CFD bias for this class of geometry.
- Schäfer et al. (2025) field measurements — direct pressure readings from sensors embedded in a fin during real surfing. Limited spatial resolution but real boundary conditions.
- Knoblauch et al. (2020) STAR-CCM+ thruster results — same RANS treatment, different solver. Comparing single-fin cases (when extracted from the 4-fin study) would verify solver-independence.
None of these comparisons is performed here. This repo is the baseline methodology; calibration against experiment is left as future work.
During development, a generic NACA 0010 swept-tapered fin was used before switching to the FCS H4 geometry. At α = 5°, U = 6 m/s:
| Generic NACA 0010 baseline | FCS H4 baseline | |
|---|---|---|
| Cl | 0.0449 | 0.0491 |
| Cd | 0.0204 | 0.0205 |
| L/D | 2.20 | 2.40 |
| Cl improvement | — | +9.4% |
The H4 elliptical planform produces ~9% more lift at the same drag — consistent with classical wing theory (elliptical loading is the minimum-induced-drag distribution for a given lift). This internal comparison gives confidence that the case responds correctly to geometric changes, even if absolute magnitudes are conservative.
During repository preparation, an unexpected finding emerged: the α = 5° case converges to two different stable states depending on the parallel domain decomposition, even with an identical mesh, identical dictionaries, identical boundary conditions, and identical initialization.
| Run | Decomposition | Fz (lift force) | Cl | y⁺ avg |
|---|---|---|---|---|
| A (polar sweep) | scotch, 12 ranks | 8.59 N | 0.0491 | 25.3 |
| B (fresh rebuild) | scotch, 12 ranks | 6.68 N | 0.0379 | 25.2 |
Both solutions are fully converged (force coefficients flat from iteration 500 to 2500, residuals ~10⁻⁸). The drag and spanwise force components match between runs to within 0.5%; only the lift-direction force differs, by ~22%.
The cause is the non-deterministic scotch partitioning: the two runs split the 1.31 M-cell mesh into slightly different sub-domains (e.g. processor 0 received 109 546 vs 109 265 cells). Near trailing-edge separation onset, the k–ω SST solution is sensitive to the linear-solver convergence path, which the domain boundaries influence, and the solver settles into different but equally-converged local states.
Implications for use of this repository:
- The polar in
results/polar.csvis real converged data from one specific decomposition (run A). It is internally consistent (all 7 angles from the same sweep) and the trends are robust. - Absolute Cl carries a decomposition-dependent uncertainty of order ±15% at this Re near separation. This is in addition to the ~30-40% RANS under-prediction discussed above.
- For an exactly reproducible single-point reference, run the case in
serial (single core), which has no decomposition ambiguity. A serial
α = 5° reference is provided in
results/where available. - Relative comparisons between geometric variants remain meaningful only if each variant is run with the same number of ranks and ideally the same decomposition method — or, more safely, in serial.
This sensitivity is itself a useful result: it quantifies how much trust to place in absolute single-fin RANS predictions at transitional Re. Most hobbyist surfboard-CFD does not check for it.