The Caldera Clone

just a bit of fun...

1 to 20 of 701 messages
23/04/2008 at 18:24

Having seen Matt BCUK's thread on the Caldera Cone, I thought I'd have a go at designing a clone.

It actually started last night, as I was trying to figure out how to improve the vapour chamber in a Red Bull side burner.  I decide that, rather than simply place the inner wall between the pressed rings on the can bases (which gives a very narrow vapour chamber), I thought I'd made an inverted conic section wall, held in place by the pressed ring at the top, but hitting the pressed dome of the bottom can.

A little bit of basic maths allowed me to derive the inner and outer radii and the conic sector angle to create a conic section of any size and shape I wanted.

Then I thought "hmmm... that's a Caldera Cone, isn't it..."

So, a bit of PostScript later, and we have a programmable Caldera Clone generator, written in PostScript, that allows you to set all tha parameters you need to suit your pan and burner setup:

Pan diameter
Pan height
Burner height
Burner flame offset
Handle width
Handle depth
Number of holes at bottom
Number of holes at top
Size of holes
Scale to fit A3
Split into two pages

The parameters are set by simply editing values in the file.

The idea is to print the design at full size (printing on two pages if necessary), and using the template to cut out some thin aluminium sheet (e.g. 'oven liner').

Now, if only I could find some of this mythical 'oven liner' that the Yanks seem to find at every corner shop and supermarket...

To use the file, cut & paste the following post, and save to a text file called (or whatever name you want).  Then use GhostScript/GSView to view and print the design.

Enjoy.  It's only a bit of fun, after all...


The latest, fully configurable script for Clone, Flissure, Infernal and Strata options for the template, discussed in this very long thread, are now available with a user-friendly front end script generator at zenstoves:

Edited: 15/06/2016 at 12:51
23/04/2008 at 18:26
%%Title: Caldera Clone stove design
%%Creator: K J Beeden (aka captain paranoia)
%%CreationDate: 23/04/08
%%BoundingBox: 0 0 841 1190
%%Pages: 1
%%LanguageLevel: 3


% %%%%%%%%%%%%%%%%%%%%%%%%%%%%
% vary values here to suit your pan and burner setup
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%
% normal user parameters (in mm)
/panHeight 95 def % height of pan
/panDiam 115 def % diameter of pan outer walls immediately under rim
/burnerHeight 35 def % height of burner
/burnerOffset 35 def % gap between top of burner and pan: pick to optimise flame heat
/handleWidth 30 def % max width of pan handles
/handleDepth 55 def % measured from top of pan to lowest point on handle
/holesTop 12 def % number of vent holes at top
/holesBottom 20 def % number of vent holes at bottom
/holeDiam 8 def % diameter of vent holes
/fullSize 0 def % print a fullsize A3 page (0/1)
/pageTwo 0 def % set this to 1 to print a second offset page (0/1)

% expert parameters
/baseRatio 1.5 def % ratio of base diameter to pan diameter
/handleGap 5 def % gap around handle opening
/digits 4 def % number of interlocking fingers
/digitLength 10 def % length of fingers
/digitFeather 1 def % amount of feathering on fingers
/holeOffset 15 def % offset of holes from edges
/pageBorder 5 def % A3 page border
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% end of user variables
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% constants
/pi 3.14159265 def
/a3X 297 def
/a3Y 420 def

% derived values
/baseDiam panDiam baseRatio mul def
/totalHeight burnerHeight burnerOffset panHeight add add def
/sideLength totalHeight dup mul baseDiam panDiam sub 2 div dup mul add sqrt def
/angle baseDiam panDiam sub 180 mul sideLength div def
/innerRadius panDiam 180 mul angle div def
/outerRadius baseDiam 180 mul angle div def
/handleOpen handleWidth 2 div handleGap add def
/handleLength sideLength handleDepth mul totalHeight div def
/handleRadius innerRadius handleLength handleGap add add def
/handleTopAngle handleOpen 180 mul innerRadius div pi div def
/handleBottomAngle handleOpen 180 mul handleRadius div pi div def
/digitWidth outerRadius handleRadius sub digits dup add div digitFeather dup add sub def
/topHoleAngle angle handleTopAngle dup add sub holesTop div def
/bottomHoleAngle angle holesBottom div def
/xTranslate angle 2 div cos innerRadius mul pageBorder sub def
/yTranslate angle 2 div sin outerRadius mul digitLength add pageBorder add def
/xExtent outerRadius xTranslate sub def
/yExtent yTranslate dup add def
/xScale a3X xExtent div def
/yScale a3Y yExtent div def
/theScale xScale yScale gt {yScale} {xScale} ifelse def

% set A3 page device
<< /PageSize [841 1190] >> setpagedevice


Edited: 23/04/2008 at 18:32
23/04/2008 at 18:26
%%Page: 1 1
% convert to mm scaling
72 25.4 div dup scale

% reduce size to fit to A3 page
fullSize 1 ne {theScale dup scale} if

1 setlinecap
1 setlinejoin

% offset to make fit on page
pageTwo 1 ne
{xTranslate neg yTranslate translate}
{xTranslate neg pageBorder dup add translate}

% draw top of stove
0 0 innerRadius angle 2 div handleTopAngle sub dup neg exch arc

% draw bottom of stove
0 0 outerRadius angle 2 div dup neg exch arc

% draw fingers
0 0 moveto
angle 2 div neg rotate
handleRadius 0 moveto
1 1 digits
digitFeather digitLength neg rlineto
digitWidth 0 rlineto
digitFeather digitLength rlineto
digitFeather 0 rlineto
digitWidth 0 rlineto
digitFeather 0 rlineto
} for

% draw mating fingers
0 0 moveto
angle rotate
handleRadius 0 moveto
1 1 digits
digitFeather 0 rlineto
digitWidth 0 rlineto
digitFeather 0 rlineto
digitFeather digitLength rlineto
digitWidth 0 rlineto
digitFeather digitLength neg rlineto
} for

% handle opening
0 0 innerRadius 0 handleTopAngle neg arc
0 0 handleRadius handleBottomAngle neg 0 arc

0 0 moveto
angle neg rotate
0 0 innerRadius 0 handleTopAngle arc
0 0 handleRadius 0 handleBottomAngle arc

% draw bottom holes
0 0 moveto
bottomHoleAngle 2 div neg rotate

1 1 holesBottom
0 0 moveto
bottomHoleAngle rotate
outerRadius holeOffset sub 0 holeDiam 2 div 0 360 arc stroke
} for

% return to angle rotation
0 0 moveto
bottomHoleAngle holesBottom 0.5 sub mul neg rotate

% draw top holes
0 0 moveto
handleTopAngle topHoleAngle 2 div sub rotate

1 1 holesTop
0 0 moveto
topHoleAngle rotate
innerRadius holeOffset add 0 holeDiam 2 div 0 360 arc stroke
} for

% return to angle rotation
0 0 moveto
topHoleAngle holesTop 0.5 sub mul handleTopAngle add neg rotate

% return to zero rotation
0 0 moveto
angle 2 div rotate
fullSize 1 eq
{outerRadius 0 lineto stroke}

23/04/2008 at 18:29
Bah; it was too big to fit in one post, so you'll have to cut & paste the two posts into one file...
23/04/2008 at 18:35
Oh, and it uses interlocking fingers to join the ends together, which is like the older Caldera, I understand. I'll think about interlocking flaps at some point, a bit like one of my triangular drink can pan supports...
23/04/2008 at 19:48

Okay, here's an example...

24/04/2008 at 10:55

This is very interesting and usefull Cap'n, thank you.

I recently experimented with a truncated cone like the caldera but not as tall/wide.

I wanted the mug (Alpkit) to sit on top of the cone, thus creating a stable base/pot support and windshield that would stop any heat being wasted up the side of the mug yet would be able to be rolled up inside the mug for storage. The only thing that puts me off the Caldera is the packing of it. Anyway the experiment was a flop as the stove was starved of oxygen even with large ventilation holes on one side.

I did all the calculations by hand and then used the drawing package at work to print it out but it was a very long and tedious affair. I'd like to go back and experiment some more with different sizes untill I get something that performs the way I want. This will make things much easier to do so I think.

I must admit I know nothing about Postscript/Ghostscript but I'm now off to trawl the net to learn.

(I just used stainles steel shim for my prototype/flop so will be hunting the mythical oven liner also)

Thanks Bigbananafeet (Sandy)

Edited: 24/04/2008 at 10:56
24/04/2008 at 12:40

The first paper prototype managed to support my MSR Ti Kettle...

I didn't remember some of the sizes correctly (such as handle depth and width).  They've now been corrected, allowing for top and bottom handle width settings, and the upper holes have been made bigger and moved down.

I also have a cunning plan for a simple locking mechanism for the interlocking tabs.

24/04/2008 at 12:46

BBF, you shouldn't need to know much about PostScript, other than to edit the user parameters as indicated (and the 'expert' parameters if you wish).

GhostScript and GSView can be downloaded for free from here.  They're very good tools.

Whilst the code isn't perfect (bashed in very quickly), it seems to cope with a reasonable range of parameter variation.

24/04/2008 at 18:19

> windshield that would stop any heat being wasted up the side of the mug

Of course, there's a problem with this, as you must have a way for hot combustion gases to escape upwards; that's the only way they'll go...  If you don't allow these gases to escape, the burner will go out.  Or produce a lot of carbon monoxide.

The Caldera cone is a nice way of ensuring the hot gases stay in close contact with the pan, even if it's the side of the pan.  As long as they're in contact with the pan, they'll continue heating the contents.

24/04/2008 at 21:59

Very impressive! Thank you for your efforts.

A couple of questions if you don't mind?

Are the figures in the code the ones that you actually used for your MSR Titan Kettle? Or are they the pre-corrected ones? If so, what were your corrected ones? /forum/smilies/wink_smiley.gif ]

What does the 'Burner flame offset' variable represent? Is this the distance from burner top to pot bottom, or something else

I will also be very interested to see the version with the updated tabs.

Edited: 24/04/2008 at 22:01
24/04/2008 at 23:05

I did some tests



classic windscreen: 12 gr

(home made) caldera windscreen:68 gr

used a ionstove

500ml water: 8°C-> 100°C

classic windscreen: 14 gr meth (=18 ml) -> 95°C (13 min.39sec)

caldera windscreen: 13 gr meth ->100°C (14 min. 20 sec)

esbit+ classic windscreen: 12 a 13 gr esbit (13 min.) ->100°C
esbit+ cone: 12 gr esbit (11 min.) ->100°C.

Edited: 24/04/2008 at 23:07
25/04/2008 at 13:07

Yes, the burner offset is the gap between the top of the burner and the bottom of the pan.

In a Trangia, this is 24mm.

Having measured my MSR properly, the figures are:

/panHeight 95 def % height of pan
/panDiam 116 def % diameter of pan outer walls immediately under rim
/handleWidth 22 def % max width of pan handles
/handleDepth 78 def % measured from top of pan to lowest point on handle

I've since refined the design to allow top and bottom handle widths, nice rounded corners on the handle hole, and a finger locking mechanism.

If anyone wants the latest version, drop me an email.  It's a massive 6013 bytes (oh, the beauty of PostScript!)...

25/04/2008 at 13:11

Oh, and I should point out that I've only ever seen pictures of a genuine Caldera Cone.  I just took the basic conic section idea and designed the rest of the features.

The ratio of pan diameter to base diameter, for instance, is set to 1.5, as that seemed reasonable.  I don't know what is 'correct', but, since you can set it to any value you like, it's up to you...

25/04/2008 at 19:06

Im dowloading the ghostscript program right now and I'll have a play with it. I'll probably email you for the latest version later Captain.

Cheers Bigbananafeet.

Edited: 25/04/2008 at 19:06
28/04/2008 at 13:11

Another attempt, this time with the correct pan height (86mm).  Note the narrower handle opening.

29/04/2008 at 07:56
A very helpful idea - thanks mate. BTW, if you're fortunate enough to be using OS X on a Mac - a FAR better hiking computer setup IMO ; ) just copy the postscript data (as above) into TextEdit, set the Format to Text Only and then save as Unicode (UTF-8) with a file extension of PS rather than TXT (ie file name should be something like

Now, when you open the file, it will open automatically in Preview.

Nice and easy.
Edited: 29/04/2008 at 07:56
29/04/2008 at 12:52

> if you're fortunate enough to be using OS X on a Mac - a FAR better hiking computer setup IMO

Unless you want to run any of the mapping programs...

Macs may run DisplayPostScript; the Next machines did; i.e. native PostScript display.

GSView runs perfectly well, and is better for PostScript code development, as it includes debug information if you mess up.  Well, I'm guessing Preview won't do this, not having a Mac...

Glad you think it may be of use.  As I said, email me for the latest version.

29/04/2008 at 12:54

> Im dowloading the ghostscript program right now

BBF: you'll need GSView as well; this is the 'front end' to GhostScript.

12/07/2008 at 07:41


did you make a cone out of aluminium or are you still on the oven liner quest?

Seriously, have you located a suitable material for this? 


1 to 20 of 701 messages
Forum Jump