Overview and history
Bamboo is a set of open source modelling tools for analysing the thermal performance of liquid rocket engines, available on github. The Bamboo repository includes a folder of examples demonstrating its capabilities, as well as a Jupyter notebook explaining some of the key classes and methods for users looking to implement Bamboo as a module in their own projects.
Developed primarily by Daniel Gibbons in early 2021, Bamboo initially supported only regenerative cooled engines but has since expanded in scope. As of April 2021, Bamboo is still under active development to meet the needs of the design process for the White Dwarf and White Giant engines, as part of the Griffin program.
The models and equations within Bamboo are sourced from current publicly available literature and are referenced in the source code, although an institutional login may be required to access some papers.
In order to model the thermal behaviour of an engine, Bamboo needs details of the engine geometry, propellant combination, mixture ratio and mass flow rates. For convenience, Bamboo uses ProPEP to estimate the thrust and specific impulse of the engine based on this information. Additives can be included with the propellants, for example diluting the fuel with water to increase its specific heat capacity and decrease combustion temperatures.
Combustion gas properties
By using isentropic flow equations, the properties of the combustion gas can be found as a function of axial position.
Bamboo can generated nozzle profiles based on chamber and ambient pressure, using Rao's method. The nozzle expansion ratio of the nozzle can be optimised using a simple 1D trajectory simulator, maximising the expected apogee altitude of a single stage rocket.
Material properties have a dramatic impact on the thermal performance of cooling systems. Bamboo's Material class holds key properties such as thermal conductivity and expansion coefficient and Young's modulus. The Bamboo materials library includes a high-performance copper alloy, 304 stainless steel and graphite but this can be easily expanded by adding a new entry to the library.
Materials objects can optionally quantify the decrease in their yield stress at elevated temperatures by including an appropriate polynomial. This feature is used by the stress analysis tools.
Regenerative cooling systems
Bamboo supports both vertical (parallel to the engine axis) and spiral (circumferential, around the engine) based regenerative cooling jackets. Spiral jackets support multiple channel profile options, including rectangular, semi-circular or custom channels (user must specify flow area and effective hydraulic diameter)
For vertical channels, the fraction of the cross-section area taken up by the channel walls can be included as the blockage ratio, which quantifies their impact on the coolant pressure drop in the cooling jacket.
The jacket is defined by a Bamboo Materials object for the inner liner, which interfaces with the combustion chamber gases on one side, and the coolant (usually fuel) on the other. Optionally an outer liner material can be specified, used in stress analysis.
Both the inner and outer liners can have variable thickness profiles. By supplying an array as a thickness profile, Bamboo will interpolate between array elements to calculate the thickness at each discretised position along the engine length.
The regenerative cooling system can be cut off part way along the engine length.
Ablative and refractive cooling systems
A Bamboo engine can include an insert inside the engine. For the current White Giant design, this is used to form the nozzle contour (simplifying the construction of the liners to simple tubes) and additionally insulate the inner liner from the region of greatest heat flux, the throat. The position and length of the insert can be varied. In future, ablation of the insert as the engine runs may be modelled according to its regression rate. As of April 2021, inserts are only treated as refractory (insulating).
Steady state thermal analysis
Once a Bamboo Engine object has been created, a steady state thermal analysis can be performed. The engine is split into many (1000 by default) discrete sections, perpendicular to the axis of the engine. Bamboo uses thermal resistance circuits to calculate the temperature for the inner surface of the inner liner, outer surface of the inner liner and the coolant for each section. This requires calculating heat transfer coefficients between the combustion chamber gas and the inner surface of the inner liner, and the coolant fluid and the outer surface of the inner liner, and using the thermal properties of the inner liner material and its thickness. If an insert is present for any given section, then this is included as an additional "resistance" in the thermal circuit.
Multiple models are supported for calculating heat transfer coefficients, including Bartz and sigma corrected Bartz.
Coolant behaviour in regenerative systems
Using either the spiral or vertical cooling channel geometry, Bamboo calculates the mean path length of the coolant through the jacket, and additionally makes use of a friction factor relationship and Bernoulli's principle to predict the flow velocity and static pressure along the length of the jacket. Variation in coolant viscosity and the Prandtl and Reynolds numbers are accounted for. The velocity also used in determining the coolant side heat transfer coefficient.
As of April 2021, it has been noted that the total stagnation pressure drop across the entire engine length is highly sensitive to changes in the channel size, particularly with spiral channels where the mean path length is affected by the channel size.
Additionally, Bamboo checks that the coolant does not boil in the jacket as its temperature and static pressure varies along the jacket.
Bamboo can perform steady state operation and engine start-up stress analyses.
The steady state stress analysis uses a steady state thermal analysis result to find the temperature difference between the surfaces of the inner liner, and then using the inner liner material properties and thickness, find the thermal stress induced by this difference. This stress can then be compared to the yield strength (adjusted according to inner liner surface temperature, if supported by the material), as a figure of merit.
For the analysis of start-up stresses, Bamboo considers a few phases.
- Coolant is flowing through the jacket, but ignition is yet to occur. The pressure difference across the inner liner is modelled to find the hoop stress.
- The engine is running and the inner liner has reached steady state temperature, but the outer liner is still cold. As the inner liner expands, it is restricted by the outer liner, imposing stresses in both.