Calculation of CDo in VSPAERO

74 views
Skip to first unread message

Julien

unread,
Jul 17, 2026, 9:32:12 AMJul 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 AMJul 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 AMJul 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_"!

Gennaro Barbato

unread,
Jul 29, 2026, 10:53:58 AMJul 29
to OpenVSP

Hi everyone,

I was investigating the GitHub implementation of the method used for the calculation of CD0 for a lifting surface (wing element) as well.

My doubt concerns the calculation of Cl0_2D: I found that it is initially set to 0, but I could not figure out whether this value is updated somewhere during the calculation or if the initialized value is actually the one used in the end.

Does anyone know where/how Cl0_2D is updated during the computation?

Thank you in advance for your help and for any clarification you can provide.

Rob McDonald

unread,
Jul 29, 2026, 11:33:47 AMJul 29
to OpenVSP
I believe it is input by the user and read in through the input files.

Rob

Gennaro Barbato

unread,
Jul 29, 2026, 12:21:11 PMJul 29
to OpenVSP

Thank you for your prompt reply.

I realized that the version I was using is version 3.40.1. In this previous version, the same formulation seems to be used, but the parameter Cl0_2D_ is not present among the input parameters (while it is available in the current version).

Could you please provide some information about how Cl0_2D_ was handled in the previous implementation? Was it internally calculated or updated during the computation, or was a different approach used?

Thank you again in advance for your help.

Rob McDonald

unread,
Jul 29, 2026, 12:28:54 PMJul 29
to ope...@googlegroups.com
I'm pretty sure it was ignored.

The simple airfoil model we use was even more simple back then.

Rob
> --
> You received this message because you are subscribed to the Google Groups "OpenVSP" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to openvsp+u...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/openvsp/5cedbd80-cd7c-4db3-b93e-02f624339e16n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages