Parametric NASA Almond Geometry

131 views
Skip to first unread message

Koaib Kaleem

unread,
Jun 16, 2026, 6:16:12 AM (9 days ago) Jun 16
to OpenVSP
Hi everyone,

Does anybody happen to have or ever made the parametric model of NASA Almond shape geometry which is used as a benchmark shape for RCS (radar cross section) validation?

Thanks in advance

Rob McDonald

unread,
Jun 16, 2026, 11:25:02 AM (8 days ago) Jun 16
to OpenVSP
I had never heard of it before -- interesting.

I do not know of anyone who has made a model of the almond.

Depending on the accuracy you need, there are several approaches you could take.

Is your goal to have a model of the almond (in which case, there are many ways to achieve that including downloading it from the net), or is your goal to test OpenVSP's ability to model the almond?

Rob

Koaib Kaleem

unread,
Jun 17, 2026, 6:13:01 AM (8 days ago) Jun 17
to OpenVSP

Thanks for the response. To clarify, my goal is that I'm running a tessellation/mesh convergence study for RCS validation, not trying to obtain an almond model for its own sake. I have almost completed this for the sphere and flat plate, and the NASA almond is the standard third benchmark shape that I am planning to add.

I do have an STL of the almond downloaded from the internet. My current plan is to bring that into OpenVSP using the "Fit Model" capability to get a parametric representation, so I can then re-tessellate it at different mesh densities and re-export STL for each tessellation level, the same workflow I used for the sphere and flat plate.

Does that sound like a reasonable approach, or would you recommend a different route given OpenVSP's geometry capabilities?

Brandon Litherland

unread,
Jun 17, 2026, 7:02:07 AM (8 days ago) Jun 17
to OpenVSP
That is one reasonable approach, yes.  However, whether the downloaded mesh is a sufficient match to the mathematical almond definition will be up to you.  Another approach would be to create a parametric translation of the curves into OpenVSP's surface lofting or establishing a Custom Geom for the almond itself.  For what you're describing, matching the mesh is likely appropriate.

Rob McDonald

unread,
Jun 18, 2026, 12:38:40 AM (7 days ago) Jun 18
to OpenVSP
I would start with the Fit Model approach.

Rob

Koaib Kaleem

unread,
Jun 18, 2026, 6:53:01 AM (7 days ago) Jun 18
to OpenVSP
Thankyou both for the guidance. I started with the fit model approach but then shifted to custom geom as i got the piecewise equations from a paper. The geometry looks reasonably similar to the stl file i got online.
NASA_Almond_v5.vsppart
Screenshot 2026-06-18 094801.png

Koaib Kaleem

unread,
Jun 18, 2026, 6:53:15 AM (7 days ago) Jun 18
to OpenVSP
adding to my previous message, the vsppart file i have shared, when i m trying to scale down, a weir bulge is appearing, can anyone let me know why
Screenshot 2026-06-18 131944.png
NASA_Almond_v5.vsppart

Rob McDonald

unread,
Jun 18, 2026, 10:45:18 AM (6 days ago) Jun 18
to OpenVSP
It looks like you've set the angle at the nose without dialing in the tangent strength.  Then, at all subsequent sections, you've set the position without setting the angles down the length.

The strength specifies the magnitude of the derivative at the location.  The angle specifies the direction.

The derivative is the vector (dx/du, dy/du, dz/du) -- du between specified cross sections is 1.0.

The strength is scaled for Stack and Fuse component types, but for Custom components the scale factor is 1.0 -- i.e. it is a raw pass-through.  You specify the derivative magnitude directly.

I recommend you adjust your script to calculate the angle at every station.  I would also calculate the strength.

I would greatly reduce the number of cross sections specified (and make it easy to change).  Then, verify that you're getting the right shape with just three or four cross sections specified.  It will be easier to verify that your code is working right with fewer cross sections specified.  Then, once you're convinced that it is right, increase some to verify that you have the accuracy you require.

Rob

Koaib Kaleem

unread,
Jun 19, 2026, 3:39:33 PM (5 days ago) Jun 19
to OpenVSP
Thanks for the suggestions, it worked.

I havent written the .vsppart file myself (took help from Claude), but sharing it here if someone wants to look into it.
the relevant eqns are in the paper attached.
NASA_Almond_v15.vsppart
Screenshot 2026-06-19 221635.png
EM_programmers_notebook-benchmark_radar_targets_for_the_validation_of_computational_electromagnetics_programs_woo_etal.pdf

Rob McDonald

unread,
Jun 19, 2026, 3:48:59 PM (5 days ago) Jun 19
to OpenVSP
Something is very wrong with the *.vsppart file you posted.

Here is a screenshot of a side view with default settings all around...

Screenshot 2026-06-19 at 12.46.22 PM.png
Notice how the surface has constant ripples?

This means that the tangents are set wrong consistently.

If you attempt an RCS analysis on this shape, you will get a very wrong answer.

Rob

Koaib Kaleem

unread,
Jun 20, 2026, 8:27:03 AM (5 days ago) Jun 20
to OpenVSP
Thanks for flagging, i didnt inspect it from other views. Tangents in w directions were not calc instead u ones were being used
Here is the file with correction

Screenshot 2026-06-20 092134.png
NASA_Almond_v16.vsppart

Rob McDonald

unread,
Jun 20, 2026, 2:47:17 PM (4 days ago) Jun 20
to OpenVSP
I'm not sure what, but I think you still have some issues with your tangent strength scaling.

When I look from a front view, the mesh lines have odd oscillations in them -- the top/bottom and side curves do not, but the intermediate curves do.  I suspect they have their strengths scaled differently which is causing this behavior.

Screenshot 2026-06-20 at 11.43.18 AM.png

Also, the nose does not look like a smooth curve the way I would expect.

Screenshot 2026-06-20 at 11.43.38 AM.png
Rob

Koaib Kaleem

unread,
Jun 22, 2026, 9:30:23 AM (3 days ago) Jun 22
to OpenVSP
Thank you for the feedback. I ran the RCS analysis and at broadside seems to agree with the independent MATLAB PO reference at 7 GHz, suggesting the body profile is approximately correct in that region. The nose region (0–50°) shows more spread, which may be related to not perfect round shape you identified. I am thinking to revisit the whole process. Can u give me some recipe/ approach of how i would do this if i had to start from scratch?
almond_lambda_8.stl
almond_convergence_7GHz_20260620_092640.png
almond_lambda.stl

Brandon Litherland

unread,
Jun 22, 2026, 9:33:17 AM (3 days ago) Jun 22
to OpenVSP
I would recommend going back to the fit model approach and then see how closely you can match the geometry using as few parameters as possible. I haven't had a chance to open the file up myself and have a look at it but I suspect that you will have more success manually fitting to the mesh then by trying to create a custom part from the start.

Koaib Kaleem

unread,
Jun 22, 2026, 10:53:37 AM (2 days ago) Jun 22
to OpenVSP
right, will try
Reply all
Reply to author
Forward
0 new messages