Skip to main content

RCS Calculations - Puma-EM on Ubuntu Linux

If you need to calculate the Radar Cross Section of something, then this installation guide for Puma-EM may help.

You can get Puma-EM here:

You may also need FreeCAD, Meshlab and GMSH or GiD, to prepare the mesh files:

Note that the mesh size typically needs to be about Lamda/10, which at 10 GHz amounts to about 3 mm.

Puma-EM on Ubuntu Linux


To ensure that you have a fast system, do a minimal install of the Ubuntu server edition and then add LXDE to make it more usable.

Get Ubuntu Server 14.04.2 LTS version here:

Make a virtual machine:

Create a new Virtualbox VDI VM for Ubuntu 64 bit Linux and a 20 GB dynamic disk.

Select the LTS CD image in the Storage section of the VM settings and boot.

Press Enter a few times to accept the defaults

Make a user account: user / 5uper5ecret

Some more Enters

"Guided - use entire disk" will result in a ext4 system

Write changes: Yes

Yet more Enters

If you can figure out how, install 'ssh server' and 'build-essential', otherwise, do it after installing the desktop

Type more Enters

La voila!

Reboot, then update the package lists:

sudo apt-get update

Long wait...

Now install LXDE:

sudo apt-get install lxde


sudo apt-get install --no-install-recommends lubuntu-desktop

(about 900 MB)


sudo apt-get install lubuntu-desktop

(about 1.3 GB)

...depending on how much bloat you want with your desktop.

Install the development tools:

sudo apt-get install build-essential

udo apt-get install cvs subversion git-core mercurial

sudo chown $USER /usr/local/src

sudo chmod u+rwx /usr/local/src

Install Guest Additions

Click Devices insert Guest Additions

Open in file manager

Open a terminal in /media/user/VBOX...

sudo ./

Then reboot

Configure the VM :

Enable the copy and paste buffer sharing and screen resizing features

Go to Power Savings and turn it off

Go to Light Locker and turn it off

Download Puma-EM:

Get it from here

Untar it in the user home directory

cd ~/Puma-EM/installScripts


It asks for a password once or twice and downloads and builds a lot of stuff

Long wait...

...and you should eventually reach the end of the compilation without errors.

Resolving problems:

Which Ubuntu package a missing file is in:

apt-file search missingfilename.pc

GMSH Meshing

Puma EM is designed for parametric .geo mesh files created by the GMSH 3-D mesh generator.  Most mesh utilities cannot handle big models with millions of triangles and will quickly crash and burn when you feed them an aircraft or ship surface.

GMSH can read a STP file directly and convert it to a surface mesh.  It is mainly a command line utility, but it has a kind of a GUI:

Read the tutorial before you go meshing around and wasting your time:

GMSH is easy to install since it should already be in your Linux distribution software repository:
# apt-get install gmsh

When preparing a mesh, be sure to set the maximum size to 1/10th wave length, which is about 3 mm for X-band tracking radar.

To convert a Step model into a parametric 2-D surface mesh, with maximum size 3 mm, you could try the following options:
$ gmsh -parametric -2 -clmax 3 -o output.geo -open input.stp
Obviously, if you have to mesh a whole aircraft, then this will take a looooooong time. So for initial tests, make the mesh size much bigger and use a lower frequency of 300 MHz with 100 mm triangles.

In my limited experience, it looks like any input file will generate long lists of inexplicable errors and warnings.  If GMSH errors out completely on a .stp file, try opening the file with FreeCAD and exporting it to a new .stp file.

Testing the .geo file is also a problem, since the only program that can display it is GMSH itself, but you can try to convert the resulting .geo file to a .stl mesh file and then open that one with FreeCAD, to confirm that the model still looks the way it should and that some pieces didn't go AWOL in the process.

GiD Meshing

Another option is GiD:   It is free for one month of evaluation use, so you can test it and see if it works on your .stp files before you buy it.  It worked for me on Ubuntu LTS 64 bit.  Do read the Readme.txt file.  Note that the evaluation version can only handle 1010 nodes.  If your file is bigger (my test STP file had over 300,000 nodes), then it will go through all the motions, but refuse to save the results.

The first thing to do after importing a .stp file into GiD, is to repair it, under Utilities, Repair Model.  It will likely fix several thousand 'errors', after which you should rotate the model and confirm that it still looks the way it is supposed to.  Now you can Generate a mesh under the Mesh menu and specify the size.

GiD could import my test STP file, but hung on my identical IGS file, so your mileage may vary.

I found that GiD crashed for mesh sizes of 3, 30 and 300, but worked for 321 and 220 (default).  So you got to experiment - it seems to have a problem with round numbers.  Therefore don't give up immediately if it doesn't work at first.   However, this left me wondering whether I should buy such a buggy program or not - there isn't anything else really, apart from the equally buggy GMSH above.

Have fun!



Popular posts from this blog

Parasitic Quadrifilar Helical Antenna

This article was reprinted in OSCAR News, March 2018: If you want to receive Satellite Weather Pictures , then you need a decent antenna, otherwise you will receive more noise than picture. For polar orbit satellites, one needs an antenna with a mushroom shaped radiation pattern .  It needs to have strong gain towards the horizon where the satellites are distant, less gain upwards where they are close and as little as possible downwards, which would be wasted and a source of noise.  Most satellites are spin stabilized and therefore the antenna also needs circular polarization, otherwise the received signal will flutter as the antennas rotate through nulls. The helical antenna, first proposed by Kraus in 1948, is the natural solution to circular polarized satellite communications.  It is a simple twisted wire - there seems to be nothing to it.  Various papers have been published on helix antennas, so the operation is pretty well understood. Therefore,

Weather Satellite Turnstile Antennas for the 2 meter Band

NEC2, 2 m band, 146 MHz, Yagi Turnstile Simulation and Build This article describes a Turnstile Antenna for the 2 meter band, 146 MHz amateur satcom, 137 MHz NOAA and Russian Meteor weather satellites.  Weather satellite reception is described here .  A quadrifilar helical antenna is described here .   Engineering, is the art of making what you need,  from what you can get. Radiation Pattern of the Three Element Yagi-Uda Antenna Once one combine and cross two Yagis, the pattern becomes distinctly twisted. The right hand polarization actually becomes visible in the radiation pattern plot, which I found really cool. Radiation Pattern of Six Element Turnstile Antenna Only a true RF Geek can appreciate the twisted invisible inner beauty of a herring bone antenna... Six Element Turnstile Antenna Essentially, it is three crosses on a stick.  The driven elements are broken in the middle at the drive points.  The other elements can go straight throug

To C or not to C, That is the Question

As most would know, the Kernighan and Ritchie C Programming Language is an improved version of B, which is a simplified version of BCPL, which is derived from ALGOL, which is the Ur computer language that started the whole madness, when Adam needed an operating system for his Abacus, to count Eve's apples in the garden of Eden in Iraq.  The result is that C is my favourite, most hated computer language , which I use for everything. At university, I learned FORTRAN with punch cards on a Sperry-Univac, in order to run SPICE, to simulate an operational amplifier.  Computers rapidly lost their glamour after that era! Nobody taught me C.  I bought the book and figured it out myself. Over time, I wrote a couple of assemblers, a linker-locator, various low level debuggers and schedulers and I even fixed a bug in a C compiler - not because I wanted to, but because I had to, to get the job done!   Much of my software work was down in the weeds with DSP and radio modems ( Synchronization,