The Python solver has an optional correction for the effect of spanwise flow on the viscous force, which this package lacks. It is off by default there.
Solver(is_with_viscous_drag_correction=True) calls BodyAerodynamics.viscous_drag_correction (src/VSM/core/BodyAerodynamics.py:985, applied at :1281, awegroup/Vortex-Step-Method@e5c3b49), following Gaunaa et al. 2024, A correction model for the effect of spanwise flow on the viscous force contribution in BEM and Lifting Line methods, J. Phys.: Conf. Ser. 2767 022068, doi:10.1088/1742-6596/2767/2/022068. Per panel, with β the angle between the local inflow and the panel plane normal to the span and Re built on the chordwise speed:
- f0 = 0.062 Re^(-1/7)
- ΔCd = f0 (cos(β)^(-5/7) - 1), along the in-plane drag direction
- C_par = f0 tan(β) cos(β)^(-5/7), along the span
Here rho is a solver input and mu is only used for the Reynolds number (src/body_aerodynamics.jl:1002); searched viscous_drag|gaunaa|spanwise.?flow|crossflow, no hits beyond the Li/Gaunaa artificial viscosity.
Relevance: sideslip and anhedral give the outer panels of a kite a spanwise inflow component, which is what this corrects. Proposal: a SolverSettings flag, default off, applied where the panel forces are assembled so solve!, solve and linearize all see it. Python's implementation prints per-panel debug output and has no test; a port would want one against the paper's equations.
Found while surveying the Python package for #113.
The Python solver has an optional correction for the effect of spanwise flow on the viscous force, which this package lacks. It is off by default there.
Solver(is_with_viscous_drag_correction=True)callsBodyAerodynamics.viscous_drag_correction(src/VSM/core/BodyAerodynamics.py:985, applied at:1281, awegroup/Vortex-Step-Method@e5c3b49), following Gaunaa et al. 2024, A correction model for the effect of spanwise flow on the viscous force contribution in BEM and Lifting Line methods, J. Phys.: Conf. Ser. 2767 022068, doi:10.1088/1742-6596/2767/2/022068. Per panel, with β the angle between the local inflow and the panel plane normal to the span and Re built on the chordwise speed:Here
rhois a solver input andmuis only used for the Reynolds number (src/body_aerodynamics.jl:1002); searchedviscous_drag|gaunaa|spanwise.?flow|crossflow, no hits beyond the Li/Gaunaa artificial viscosity.Relevance: sideslip and anhedral give the outer panels of a kite a spanwise inflow component, which is what this corrects. Proposal: a
SolverSettingsflag, default off, applied where the panel forces are assembled sosolve!,solveandlinearizeall see it. Python's implementation prints per-panel debug output and has no test; a port would want one against the paper's equations.Found while surveying the Python package for #113.