Result interpretation

246 views
Skip to first unread message

Mike Vivaldi

unread,
Sep 6, 2025, 12:42:54 AM9/6/25
to OpenVSP
Hey All,

I've been looking through the new VSPAERO results and had a question. When examining the polar file, is the aircraft total C values computed by adding the C[]tot for surface and C[]wtot for wake?

Thanks,

Mike

Rob McDonald

unread,
Sep 6, 2025, 12:56:07 AM9/6/25
to OpenVSP
There are a bunch of related coefficients with different subscripts.  This has changed somewhat from earlier versions.  In the version of VSPAERO shipped with 3.45.X and newer,

CLo    -- parasite contribution to lift coefficient
CLi     -- inviscid contribution to lift coefficient, calculated from Biot Savart summation of vortex loops
CLtot -- CLo + CLi
CLwtot -- CLo + CLiw
CLiw   -- inviscid contribution to lift coefficient, calculated from a summation of vorticity in the wake


CLi can be thought of as a surface integral -- but it is not a surface integral of Cp.
CLiw can be thought of as a wake integral -- similar to a Trefftz plane approach.

In general, the wake formulation will converge sooner than the surface integral approach and will usually be more accurate.  However, it has limitations.  For example, it can not be used to calculate moments.

Rob

Franco Staub

unread,
Mar 14, 2026, 3:22:05 PMMar 14
to OpenVSP
Hey Rob!

Quick question related to this thread. What does parasite contribution to lift entail from a physics standpoint? Is it something like the integration of free-stream-orthogonal components of each panel's skin friction shear force?

I appreciate the breakout of forces and moments by the way. New VSPAERO is great.

Best,
Franco

Rob McDonald

unread,
Mar 14, 2026, 5:05:39 PMMar 14
to OpenVSP
The parasite contribution is a very simple model.  We hope to improve it relatively soon -- so details will change.

Basically, it is a strip-wise model applied to each section.  Right now, it is an estimate of skin friction force applied in the local chord direction.  That gets resolved into lift and drag components in the overall aircraft wind frame.

Rob

Franco Staub

unread,
Mar 14, 2026, 5:56:10 PMMar 14
to ope...@googlegroups.com
Thank you for the prompt reply. That makes sense that you get CLo and CDo components then.

I assume the skin friction calculation is informed by the local 2D flow velocities (basically Cp slices) and ReCref input. In my head, that would explain why CDo is changing with alpha and varies with stall model on/off. Would that be a fair assumption?

Franco

--
You received this message because you are subscribed to a topic in the Google Groups "OpenVSP" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/openvsp/_5mKYYT2_OQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to openvsp+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/openvsp/cf80a41b-1d03-44b7-a78b-ff1aab05a617n%40googlegroups.com.

Rob McDonald

unread,
Mar 14, 2026, 6:56:36 PMMar 14
to OpenVSP
Yes, the local calculation is informed by local properties -- velocity, chord, Mach number, and sectional lift coefficient (possibly more).

The local chord and velocity are used to calculate the local Reynolds number.  Local Mach, Re, and lift coefficient are used to feed the local airfoil drag model.

This is particularly fun for propellers and rotors -- the local velocity (and therefore Reynolds number) vary a lot across the blade.

We are working to bundle libNeuralFoil to do this calculation (replacing the simple model we have now).  libNeuralFoil is a C++ port of NeuralFoil.  NeuralFoil is a Python Neural Network airfoil performance model trained on a large number of XFoil runs.

So, in that future scenario, the local airfoil shape, chord, velocity, lift coefficient, etc. will be fed to libNeuralFoil to get 2d aero performance numbers.  Those cd and cm contributions will be added in (on a 2d sectional basis) and resolved into 3D force / moment contributions.

NeuralFoil is incompressible, so we will also calculate a critical Mach number for the airfoil at the given lift coefficient.  We will calculate a local sweep and Mach and between those, we will add in an empirical drag rise contribution.

I can't promise when all this will come together and be done -- but it is the direction we're headed.

Rob

Zach Hazen

unread,
Jul 11, 2026, 6:32:57 AM (4 days ago) Jul 11
to OpenVSP
Will the compressibility correction be the same as what Sharpe describes " Compressible aerodynamics are computed using a Laitone-rule (higher-order version of Prandtl-Glauert or Karman-Tsien) correction." ?

I've been a little confused on how NF provides (seemingly very accurate) compressibility treatment with some parameters tuned to experiment.  I always wondered if MSES played a part?  But if I understand correctly - neuralfoil's core neural net is all incompressible training data, and therefore libNeuralFoil is as well?

Rob McDonald

unread,
Jul 11, 2026, 10:30:42 AM (4 days ago) Jul 11
to OpenVSP
We are pretty much following what Peter does in NeuralFoil / AeroSandbox -- but there are a few sources of truth.

The dissertation, the code, and the iPython notebook -- they mostly agree, but there are occasional subtle differences.

The version of NeuralFoil that we are using is trained on incompressible XFoil - and libNeuralFoil's core calculation is an exact duplication of what NeuralFoil does (matches to double precision).

libNeuralFoil has been extended to include analytical derivatives of the NeuralFoil model - but that is the only extension.

In the future, there may be updates to NeuralFoil.  We will evaluate and consider updating to those at that time.

Rob




Zach Hazen

unread,
Jul 11, 2026, 10:28:00 PM (3 days ago) Jul 11
to OpenVSP
Sounds exciting.  Thanks.
Reply all
Reply to author
Forward
0 new messages