Help STL model analysis

133 views
Skip to first unread message

Federico Feraiorni

unread,
Feb 7, 2026, 1:33:27 PMFeb 7
to OpenVSP

Hi everyone,

I need to perform an aerodynamic analysis on this geometry using VSPaero across a Mach range of 0.5 to 1.2. This requires using both the VLM and Panel methods.

The model consists of wings created with native OpenVSP tools and a fuselage imported as an STL file from AutoCAD. However, based on discussions in this group, I understand that the VLM method does not handle STL components well, and the Panel method may yield inaccurate results.

Indeed, in a preliminary analysis at Mach 0.5, I obtained strange results (such as CL < 0 for alpha > 10 degrees), and the mesh at the wing-body intersection appeared distorted.

Do I need to remodel the body using native OpenVSP geometry? If so, what is the best way to approach this?

Thanks in advance for your help!

wing_body_mesh.pnglk6e.png

Brandon Litherland

unread,
Feb 7, 2026, 1:35:24 PMFeb 7
to OpenVSP
Our guidance has been and will continue to be not to use imported STL meshes for aerodynamic analysis.  There is very little reason not to recreate the fuselage with a Stack or Fuselage which will work just fine in VSPAERO.  Try this approach and then repost of you continue to have issues.

Federico Feraiorni

unread,
Feb 7, 2026, 4:17:49 PMFeb 7
to OpenVSP

I completely understand. In fact, I created this geometry before I was aware of the issues associated with STL files.

I chose this approach for its simplicity: since I had the body specifications, I drew the outer profile, created a surface, and generated the solid using a polar revolution in AutoCAD.

Given that I have all the body coordinates, is it possible to achieve a similar result using BORgeom? I haven't been able to find many tutorials on this specific tool.

Brandon Litherland

unread,
Feb 7, 2026, 4:23:01 PMFeb 7
to OpenVSP
Although you could recreate the geometry with a BOR, it will be much faster to use a Stack or Fuselage as I originally suggested.  
The OpenVSP Ground School has a variety of tutorials for these components and skinning between cross sections. https://www.nasa.gov/software/openvsp-ground-school/
Using your points for a BOR would require you to set the points in an AF or DAT format and then treat the entire body as one long airfoil.  

Federico Feraiorni

unread,
Feb 7, 2026, 7:25:49 PMFeb 7
to OpenVSP

Is this format correct for a .dat file to ensure it is compatible with BOR geometry?

I have organized the coordinates in the following order:

  1. Upper section: Normalized X-coordinates with their relative Y-values, ordered from X=1 down to X=0.

  2. Lower section: Coordinates from X=0 up to X=1, using the same Y-values but with the sign inverted.

I have previously followed this procedure for airfoil .dat files, so I am assuming it is the same for this component.


lk6e_cross.txt

Federico Feraiorni

unread,
Feb 7, 2026, 7:25:52 PMFeb 7
to OpenVSP

I completely understand. In fact, I created this geometry before I was aware of the issues associated with STL files.

I chose this approach for its simplicity: since I had the body specifications, I drew the outer profile, created a surface, and generated the solid using a polar revolution in AutoCAD.

Given that I have all the body coordinates, is it possible to achieve a similar result using BORgeom? I haven't been able to find many tutorials on this specific tool.


Il giorno sabato 7 febbraio 2026 alle 19:35:24 UTC+1 Brandon Litherland ha scritto:

Rob McDonald

unread,
Feb 7, 2026, 7:29:14 PMFeb 7
to OpenVSP
Don't do this.

While it can be made to work, the end result will not actually be a parametric geometry.  The beauty of OpenVSP is that you can rapidly change your geometry -- but not if it is defined by a set of points.

It would take you less time to build your model from a Stack than you have spent on this already.  Just watch the Ground School videos on Stack and try making a component.  If you have trouble, come back, tell us what you've tried, and we can help you move forward.

Rob

Federico Feraiorni

unread,
Feb 9, 2026, 1:10:00 PM (14 days ago) Feb 9
to OpenVSP
I'll proceed this way so, thanks a lot for the answers.

Federico Feraiorni

unread,
Feb 12, 2026, 10:02:32 AM (11 days ago) Feb 12
to OpenVSP

Hi Rob,

I’ve been trying to follow your advice on creating the cylindrical section using a Fuselage component.

Since the only way to match the required curvature is by adjusting the circular cross-section diameters and the skinning parameters, how can I accurately recreate the geometry based on my specific measurements?

In many tutorials and test cases, I’ve seen people use background references and adjust the skinning parameters by eye. However, I don't believe 'eyeballing' it is the most reliable method for achieving an exact match.

I have attached an image with the measurements for reference. What would be the best approach to ensure dimensional accuracy?lk6e_measurements.png



Il giorno domenica 8 febbraio 2026 alle 01:29:14 UTC+1 Rob McDonald ha scritto:

Brandon Litherland

unread,
Feb 12, 2026, 10:23:32 AM (11 days ago) Feb 12
to OpenVSP
Unless you have a part drawing that specifically defines those curves (radius of the nose, profile of the nose cone, leading edge fin sweep, etc), then matching the line drawing you have is the best you can do.  You'll have to assume that the line drawing is representative enough of the physical model to be useful.  If you have a document that states if that region is something like a tangent ogive, then you can fit that curve easily.  Franky, "eyeball" is most certainly good enough when you've zoomed in and matched a curve to within less than 0.001 inches (or less than 0.03 mm).  Manufacturing tolerances are often not nearly this accurate, generally about 0.005 inches, so let good enough be good enough.

Rob McDonald

unread,
Feb 12, 2026, 6:00:12 PM (10 days ago) Feb 12
to OpenVSP
I assume the nose is a portion of a sphere.

You mentioned that you have the data files for the profile coordinates.

I would figure out where the green line is -- the end of the spherical portion.  I would start my stack there.

I would also use the data points to figure out the angle of the surface (with the horizontal) just aft of the green dashed line.  You'll need that for the skinning.

I would then build a stack with 5 cross sections.  They will be :

4 x circle
1 point

The circles should have the appropriate radii, set their positions, etc.  The final cross section is a point to close out the tail.

Then, use a Nose End Cap of 'Round' to make the spherical nose.

Rob

Federico Feraiorni

unread,
Feb 12, 2026, 6:44:03 PM (10 days ago) Feb 12
to OpenVSP

Rob, Brandon,

Thank you very much for your answers. I will explore both approaches and see which one best fits my needs.

Rob McDonald

unread,
Feb 12, 2026, 7:13:59 PM (10 days ago) Feb 12
to OpenVSP
OK, I took a stab at it.

I took the data points you provided earlier and converted them into a *.pts file.

This file has very simple format -- just columns of x y z data.

I had to scale the length to the overall length of your body from the drawing.  The radius was already correct.  I just used z=0 for every point.

I imported those points.

I then set up a Stack with the cross sections I described.  I turned 'off' the skinning.  I set the diameters to the values from the diagram, I roughly adjusted the x positions.

I then used Fit Model to adjust the cross sections, the first radius & position, then the rest of the positions (their radii were fine).

I then added the nose cap.  I adjusted the first cross section angle to make the X nose position match the supplied data.  This was approximate, but very accurate.

Then I added one point in the middle of the curved section.  I used Fit Model to adjust the strength from the first cross section.

This all took less than five minutes.  I am probably not representative, but it was pretty quick.

There are videos on Stack, Skinning, and Fit Model.

Fit Model is somewhat advanced, but you could have done everything I did with Fit Model manually be inspecting the data points.

Rob
body.pts
Body.vsp3

Federico Feraiorni

unread,
Feb 12, 2026, 8:01:16 PM (10 days ago) Feb 12
to OpenVSP

Hi Rob,

Thank you very much for the time you dedicated to this and for outlining your workflow so clearly.

I realize now that I had tried using Fit Model in the past, but clearly in the wrong way. Your explanation was incredibly helpful, especially in understanding how the different parameters—Stack, Skinning, and Fit Model—actually cooperate to achieve an accurate result.

Having a clear path to follow makes a huge difference. I’m going to try replicating your steps right away.

Thanks again for your help and patience!

Federico Feraiorni

unread,
Feb 21, 2026, 8:46:20 AM (2 days ago) Feb 21
to OpenVSP

Hi Rob,

I am currently having some issues with the final model. I successfully ran the subsonic cases using the Panel Method; however, for the supersonic cases, I understand that I need to switch to the Vortex Lattice Method (VLM).

The issue is that whenever I select the 'thin set' configuration for my model, the solver crashes immediately before starting. This problem does not occur when using the 'thick set' configuration.

Do you have any insight into what might be causing this?

Thanks for your help.


lk6e_VLM.vsp3

Brandon Litherland

unread,
Feb 21, 2026, 11:37:37 AM (2 days ago) Feb 21
to OpenVSP
I found a few things that are likely causing problems.  Making some changes should help.  The VSPAERO run is still quite slow which is odd.
* The superellipse airfoils that you have cause VSPAERO to struggle to find the trailing edge.  I changed these to naca 4-series and it found the edges well enough.
* The LE/TE clustering you have is much too fine for VLM.  Try setting to 0.25 or more and see if that helps.
* For starters, I suggest turning down the tessellation until you get a run to work correctly.  Something like 41 or less should be okay.
* Running the fins by themselves without the X-symmetry (only the upper surfaces) and no body results in a smooth VSPAERO run.  No problems gridding or running.  Turning on the lower X symmetry surfaces or adding the body causes it to struggle to find the intersections which causes the run to be very slow due to numerical junk.  Haven't figured out exactly what the issue here is.  You may need to shift your surfaces very slightly to get rid of the overlap.  I tried shifting both sets of fins by 0.0001 in Y and Z and the fins ran well enough with X-symmetry active.  The body is still causing problems but I'm not quite sure why. I haven't had time to hunt it down.

Try some of these suggestions and let us know if you have some success.
Reply all
Reply to author
Forward
0 new messages