Calculation of CDo in VSPAERO

39 views
Skip to first unread message

Julien

unread,
Jul 17, 2026, 9:32:12 AM (8 days ago) Jul 17
to OpenVSP
Hello,

I am trying to understand how VSPAERO is calculating CDo (despite it being based on VLM/PM methods) so I started to read the file VSP_Solver.C where I can see that the components are calculated with
Fx = 0.5 * Cf * Velocity * Velocity * Chord * Span * SVec[0];
Which is using the skin friction coefficient which is calculated using the empirical relation (line 17752 on my version of the code):
Cfi = 1.5 / pow(log10(Re),2.58) + pCf_pCl2*pow(Cl-Clo_2d_, 2.);
But then what I don't get is why this Re (which is I suppose the Reynolds number) is calculated with Re = MAX(2.,ReCref_ * Velocity * Chord / Cref_);
If we multiply by the velocity then this Re is not adimensional anymore...
Additionally for non lifting component the code seems to be using (line 18244) Re = MAX(2.,ReCref_ * Length / Cref_);

Could you please explain why are we multiplying by the velocity?
Thanks!

Rob McDonald

unread,
Jul 17, 2026, 10:29:34 AM (7 days ago) Jul 17
to OpenVSP
Re is the local Reynolds number.  Velocity is the local velocity.

When you have a rotating blade, the local Velocity, Mach, and Reynolds number can vary greatly across the blade.  So, this calculation scales the reference Re to the local Re.

I too am a bit surprised that the Velocity does not appear as Velocity / Vref_ -- but perhaps that is done elsewhere.

The non-lifting equation is more simple because it does not account for the local velocity.  In the normal rotating wing case, that is not an issue (bodies don't move that way), but perhaps it is an oversight because complex moving body cases can theoretically be constructed.  I would need to double check with the developer about this.

All that said, this area is under total renovation.  It will all be replaced in the next update to VSPAERO (I'm not sure when that will be released).

Rob

Julien

unread,
Jul 20, 2026, 11:31:01 AM (4 days ago) Jul 20
to OpenVSP
Thanks Rob!
I will also check again on my side if I can find an explanation for why the velocity doesn’t seem to be normalized by "Vref_"!
Reply all
Reply to author
Forward
0 new messages