BurnSim Fields

From BurnSim Wiki
Jump to navigation Jump to search

This is a field-by-field reference for BurnSim 4's main window. For a walkthrough of building your first motor, see Getting Started with a Basic Simulation.

BurnSim 4 main window
BurnSim 4's main window - grains and graph on the left, motor/nozzle and propellant on the right

File Menu

  • New (Ctrl+N) - start a new, empty motor
  • Open... (Ctrl+O) - open a saved .bsx motor file
  • Recent Files - the last few motors you've opened
  • Import openMotor (.ric)... - import a motor designed in openMotor, converting its grains and nozzle into a BurnSim motor
  • Save (Ctrl+S) / Save As... - save the current motor to a .bsx file
  • Export ENG... - export the burn to a .eng file for use in flight simulators
  • Export CSV... - export the full simulation trace (time, Kn, pressure, thrust, mass flux, etc.) to CSV
  • Print / Report... (Ctrl+P) - generate a PDF motor report

Action Menu

  • Simulate (F5) - run the simulation now. Usually not needed - see Auto-Simulate below.
  • Characterize Propellant... - fit burn rate coefficients a and n to real static test data; see Propellant Characterization
  • Find Best Nozzle Exit Diameter... - sweeps exit diameter and simulates the motor at each one, to find the diameter giving the most total impulse; see below

Toolbar

A row of one-click buttons under the menu bar, restoring the toolbar BurnSim 3 had. Left to right: New, Open, Save | Export ENG, Export CSV, Print / Report | Simulate, Characterize Propellant, Find Best Nozzle Exit Diameter | Erosive burning mode. Every button is a second route to the menu item of the same name, not a separate action - hover for a tooltip naming it.

The Erosive burning combo is the one labelled control on an otherwise icon-only bar, and is a second view of the Settings menu's Simulate Erosive Burning checkbox and its model submenu rather than a third setting - the two stay in sync however you set it. None is the checkbox off; picking any model turns it on. It sits here because it is a setting people flip back and forth while comparing runs, and the menu pair is two levels deep and shows nothing about the current mode until you open it.

The × at the right-hand end hides the toolbar; Settings → Show Toolbar brings it back.

Settings Menu

  • Auto-Simulate on Changes - when on (the default), BurnSim re-runs the simulation automatically as you edit grain, nozzle, or propellant fields
  • Show Toolbar - show or hide the toolbar under the menu bar
  • Log Activity for Bug Reports - writes a per-run activity log; use Open Log Folder... to find it if you need to attach one to a bug report
  • Use Eroder for Surface Area - on (default): surface area is computed from the pixel-based grain eroder, which correctly handles complex or irregular cores. Off: use the older analytic geometry formulas instead
  • Simulate Erosive Burning (Use Axial Grain Slices) - off by default. When on, each grain is divided into axial slices and burn rate is locally augmented by an erosive burning model reacting to mass flux down the port - see Erosive Burning Overrides below. This checkbox and the Erosive Burning Model choice below it are mirrored by the Erosive burning combo box next to the graph (see Graph) - the two stay in sync however you set it, and the main-window combo is the quicker way to switch while comparing runs
  • Set Slice Count... - how many axial slices each grain is divided into when the above is on. More slices resolve a tapered port or burn-through more finely, at the cost of simulation speed
  • Erosive Burning Model - which correlation the sliced simulation uses:
    • Lenoir-Robillard - the model motor designers traditionally fit test data with. Needs a per-propellant blowing coefficient (beta) and derives its heat-transfer coefficient from thermochemistry, so the propellant needs its Specific heat ratio and Molar mass set (C* is always required regardless of model - see Erosive Burning). Always augments to some degree, with no threshold
    • Mukunda-Paul - a universal correlation fit against a broad set of published test data, with no per-propellant constant to characterize - it needs nothing beyond a/n/density plus gas viscosity, and skips the Specific heat ratio/Molar mass requirement above. Has a hard threshold: below it, there's no augmentation at all
    • Ma (2020) - zero fitted erosive constants at all (not even universal ones like Mukunda-Paul's two) - derives a real convective heat-transfer coefficient from gas/propellant properties instead. Like Lenoir-Robillard, needs Specific heat ratio and Molar mass set. See Erosive Burning for the full picture
  • Measured Burn Time - how the start and end of a burn are read off an imported pressure trace. This sets the burn time that measured burn rate points are divided by, so it is not a presentational choice: published conventions disagree by several percent on the same trace, and burn time divides straight into the reported rate. See Where to set the burn time
    • Bisected tail-off (recommended) - the standard in professional SRM work: the burn starts where the ignition rise passes half the pressure at its steepest point, and ends where the tail-off falls through half the pressure at its steepest point. Least sensitive to how fast a particular motor decays
    • 10% of peak pressure - first crossing up and last crossing down through 10% of peak. Cruder, but unambiguous and easy to reproduce in a spreadsheet
    • 5% of peak pressure - as above at 5% of peak, which measures a longer burn and therefore a slower rate
    • Custom percent of peak... - your own threshold, as a percentage of peak pressure
  • Set Simulation Timestep... - the simulation's internal time step in seconds (0.01s default). Smaller values are more precise at the cost of simulation speed
  • Theme - Dark or Light
  • Units - Imperial (in, psi, lbf, lbm) or Metric (mm, kPa, N, g); Always show Total Impulse in N-sec overrides just that one Results line regardless of the Imperial/Metric choice, since motor-class designations ("H128" etc.) are always in Newton-seconds

Help Menu

  • BurnSim Wiki... - opens this wiki in your browser
  • Activate... - enter or check your license
  • Check for Updates... - asks burnsim.com whether a newer build exists. On Windows it can download and install the update in place; on other platforms it points you at the download page
  • 'About...

Grains Grid

One row per grain in the motor, in burn order. Columns are Type, Length, Dia, Core, Offset, Fin len, Pts, Inhib. (number of inhibited ends, 0-2), and Propellant - which fields apply depends on the grain type selected. Click add a grain or use the Grain Editor below to add one; select a row to edit it.

Grain dimensions are shown to three decimal places, including trailing zeros - a 2" grain reads 2.000 - so a column of dimensions lines up on its decimal point. A value finer than a thousandth keeps its extra digits rather than being rounded away, so what the grid shows is always exactly what the motor holds.

Grain Editor

Below the grid, an editor for the selected grain(s):

  • Add - adds a new grain with the fields below
  • Remove - deletes the selected grain(s)
  • Up / Down - reorders the selected grain within the motor
  • Select All - selects every grain, so a field change and Apply updates them all at once
  • Apply - writes the Type/Length/Diameter/Core dia/Ends inhib./Propellant fields back to the selected grain(s)

Grid cells can also be edited directly, without going through this editor.

Below the editor, a Cross-Section preview shows the selected grain's end view (left) and the whole motor's longitudinal cutaway (right). The slider and Play button scrub through the burn, animating how the grain erodes over time using the same pixel-based eroder that drives the simulation.

Motor and Nozzle

  • Throat dia (in) - nozzle throat diameter. This is the number Kn is measured against, and the strongest single lever on chamber pressure.
Right-click the field for two shortcuts, both of which save doing the arithmetic yourself:
  • 1/64" increments, grouped 1-16, 17-32, 33-48 and 49-64 - the sizes throats are actually drilled and reamed to. Picking one replaces only the fractional part of the value and keeps the whole inches, so a 1.25" throat becomes 1.078125" when you pick 5/64", while a value already under an inch is replaced outright.
  • Loki Nozzle #'s, by motor size (29mm, 38mm, 54mm, 76mm, 98mm, 114mm). A Loki nozzle number is the throat diameter in 64ths, so #24 is 24/64" = 0.3750". For 38mm, 54mm and 76mm the entries also fill in Exit dia, because Loki publishes exit diameters for those three; 29mm, 98mm and 114mm have no published exit figures, so those entries set the throat only and leave Exit dia alone rather than inventing a number.
Both menus always read in inches, since both catalogues are inch-based, but the value written into the field is converted to whatever units are currently on screen - so the picker is just as usable in Metric mode.
  • Exit dia (in) - nozzle exit diameter. With the throat above it sets the expansion ratio, and so the thrust coefficient, whenever Thrust method is Nozzle geometry. Action → Find Best Nozzle Exit Diameter... will solve for it - see below
  • Other Cf losses (%) - the lumped nozzle efficiency: the fraction of ideal momentum thrust actually delivered, covering the losses BurnSim does not model individually - two-phase flow (condensed metal oxide lagging the gas, usually the largest term on an aluminized propellant), boundary-layer friction, recombination lag, and heat lost to the walls. Divergence loss is not included - it has its own field under the nozzle cone geometry below. 95% is a reasonable starting point for a well-made hobby nozzle and is the default; 90-96% is the usual range
Changed in 4.0.0.18. This field was called Efficiency (%) and behaved differently in two ways. It scaled the whole of Cf including the ambient back-pressure term - which is negative, so a less efficient nozzle paid less of the sea-level penalty; it now multiplies the momentum term only. And its default was inconsistent: a new motor started at 85% while a .bsx file that carried no efficiency attribute loaded at 99%, a 16% thrust difference decided by nothing but the age of the file. Both now start at 95%. If you are carrying an older motor forward at 85% because that allowed for a conical nozzle, raise it back toward 95% once you enter a divergence angle, or the same loss is counted twice
  • Ambient (psi) - back pressure the motor fires against
  • ...or elevation (ft) - the same number expressed as field elevation, which is what most people actually know. Type either box and the other follows, using the US Standard Atmosphere (sea level 14.70 psi, 5,000 ft 12.23, 10,000 ft 10.11, 50,000 ft 1.68)
  • Climbs during the burn - lets back pressure fall as the motor climbs instead of holding it at pad elevation for the whole burn. Ticking it reveals a Burnout elev. (ft) box; elevation is interpolated linearly between the two and pressure read off the standard atmosphere at each step. A burnout elevation below the pad is legal - a motor lit on the way down - and simply costs impulse instead of buying it. The Results tab reports the pressure range a ramped run actually covered
A straight-line climb is an approximation. A real rocket accelerates, so it spends more of the burn low down than this assumes, and the gain is therefore slightly optimistic; doing it properly needs mass, drag and a trajectory, which BurnSim does not carry. It is still far closer than assuming the whole burn happens on the pad
  • Thrust method - how thrust is derived; Nozzle geometry computes it from the throat/exit dimensions above, Given Cf uses the thrust coefficient you type into the next box. A hand-entered Cf is scaled by Other Cf losses as a whole, having no momentum and pressure terms to separate
  • Throat erosion (in/sec) - rate the nozzle throat diameter grows during the burn. 0 (default) disables throat erosion. This is nozzle material erosion, not the propellant burn-rate effect covered by Erosive Burning - the two are unrelated despite the similar name

Nozzle cone geometry

Three fields describing the shape of the cone either side of the throat. All three are drawn to scale in the longitudinal view of the Cross-Section panel, and 0 in any of them means "not set" rather than zero - BurnSim falls back to an assumed value for drawing.

  • Throat length (in) - the straight land at the throat. 0 falls back to an assumed fraction of the throat diameter. Drawing only
  • Conv. half-angle (deg) - convergent cone half-angle. 0 falls back to an assumed 45 degrees. Drawing, and free volume: it sets how long the convergent cone is, and that cone is counted in the initial free volume the Results tab reports - which in turn feeds one of the two igniter estimates. It does not affect thrust or chamber pressure
  • Div. half-angle (deg) - divergent (exit) cone half-angle. Drawing, and performance: it applies the standard divergence (angularity) loss of (1 + cos a) / 2 to the momentum part of Cf. A 15 degree half-angle costs about 1.7%. 0 leaves thrust uncorrected and draws an assumed 15 degrees. When an angle is set, the Results tab reports the loss it cost
The divergence loss stacks on top of Other Cf losses, which no longer folds it in - see the note on that field above before carrying an old motor forward. Throat length stays drawing-only, and the convergent angle still reaches no performance term either: every published discharge-coefficient correlation is parameterised on the throat wall radius of curvature, which BurnSim has no field for, so deriving a thrust or pressure correction from the two angles alone would be inventing a number. The convergent angle does size a real volume, though, which is why it reaches the free-volume figures and the divergence angle does not.

Find Best Nozzle Exit Diameter

Action → Find Best Nozzle Exit Diameter..., or the nozzle button on the toolbar. Ported from BurnSim 3, which had the same tool. It sweeps exit diameter across a range, simulates the motor at each one, and plots total impulse against exit diameter so you can see the optimum rather than just being told it.

The shape of the curve matters as much as its peak. A flat curve means the dimension does not need holding tightly and you can machine to whatever is convenient; a sharp one means it does.

Because the optimum depends entirely on the back pressure the motor fires against, the window lets you set that independently of the motor's own Ambient field:

  • Optimize for ambient / ...or for elevation - the same two-way pair as on the Motor & Nozzle panel
  • Optimize across a climb instead of one altitude - sweeps against a climbing motor rather than a single altitude, revealing Pad elevation and Burnout elevation boxes. This finds the diameter that is best over the whole burn, which is not the diameter that is best at either end of it

Apply This Exit Diameter writes the winner into the motor; Close leaves the motor alone. A long sweep can be interrupted with Stop.

Propellant

  • Dropdown selects which propellant in your database applies to the currently-selected grain(s); New, Edit, Save As... and Delete manage the database itself; Ingredients... opens the thermochemistry recipe editor, which can compute C*, Specific heat ratio, and Molar mass for you; Burn Rate Data... opens the measured burn rate points recorded against this propellant, and the a/n fit across them, in its own window
  • Three tabs: Properties (the fields below), Erosive Burning (the override fields further down) and Notes - split out so the common case stays uncluttered, since the Erosive Burning tab only matters once axial slicing is turned on
  • Name, Density (lb/in^3), C* (ft/sec), Specific heat ratio, a and n (the Saint-Robert's law burn rate coefficient and exponent), and Molar mass (g/mol) are the propellant's characterization numbers - see Propellant Characterization (or Propellant Thermochemistry for the built-in recipe-based route) for how to derive them. Fields are read-only until you click New or Edit
  • Notes (its own tab) - free text about this propellant: batch numbers, mix dates, which mix gave which rate, what went wrong. Saved with the propellant in your database and carried in .bsx files. The field itself is not new - BurnSim 3 read and wrote it, there was simply never anywhere to type it, so notes already in your database show up here. Read-only until you click New or Edit, same as the fields above


Where your propellants are stored

Changed in 4.0.0.18. BurnSim 4 keeps its propellant database in burnsim4_propellants.xml in your Documents folder. BurnSim 3 used - and still uses - burnsim3_propellants.xml beside it. The first time BurnSim 4 runs without a file of its own it copies your BurnSim 3 database across, so nothing is lost and nothing needs importing; after that the two are independent.

They were separated because sharing one file was silently lossy in one direction. The format has grown four things BurnSim 3 knows nothing about - C*, Molar mass, ingredient recipes (Propellant Thermochemistry) and stored burn rate data (burn rate data sets) - and BurnSim 3 drops all four when it saves, for every propellant in the file rather than just the one being edited. A propellant left with no C* cannot produce thrust, so the damage showed up as a simulation quietly returning nothing.

If you still run both programs, this is the fix: they no longer tread on each other. The cost is that they no longer share either - a propellant added in one will not appear in the other, so keep whichever one you actually characterize propellants in as the master.

Erosive Burning Overrides

On the Propellant panel's Erosive Burning tab - per-propellant overrides for the Erosive Burning models. Only relevant when Simulate Erosive Burning is on (see Settings Menu above). Each box is optional - leave it blank and BurnSim derives a value from the propellant's other properties (the small gray text under each box always shows what value is actually in effect, derived or overridden):

  • Beta - blowing coefficient (Lenoir-Robillard only)
  • Viscosity (mu) - combustion gas viscosity
  • Prandtl - Prandtl number of the combustion gas
  • Surface temp (R) - propellant surface temperature
  • Solid heat capacity (cs) - propellant solid-phase heat capacity
  • Combustion temp (R) - adiabatic flame/combustion temperature
  • Surface Roughness (in) - propellant surface roughness height (Ma (2020) only, feeds its friction-factor calculation); 0 (hydraulically smooth) is the default, since no propellant in BurnSim has measured roughness data

Graph

Checkboxes above the graph toggle which traces are plotted against time: Kn, Kn Eff, Pressure, Thrust, Mass Flux, Mass Flow. When test data has been imported and marked "Use in simulation" (see Test Data Tab), three more become available: Imported Pressure, Imported Thrust, and Thrust From Imported Pc (thrust back-calculated from the imported pressure trace via the nozzle) - letting you overlay real test data against the simulated curves.

Two more controls sit in the same row, to the right of the checkboxes:

  • End sim at ___ % of max thrust - stops the simulation once thrust decays to this percentage of the highest thrust seen so far, trimming a long low-thrust tail off the graph, burn time and total impulse. Defaults to 1%; 0 disables it and burns to completion. When a run is stopped early this way, the Results tab (and the PDF report) note that the burn was truncated

The Erosive burning mode selector used to sit here too. It now lives on the toolbar, next to the Run button, where it is one click away while comparing runs instead of competing for space with nine series checkboxes.

Results, Test Data and Notes Tabs

The bottom-right panel carries three tabs, sharing a panel but little else (see Results, Test Data and Notes for a pointer page covering all three):

  • Results - a text summary of the burn: designation, total impulse, burn time, peak pressure, peak and average thrust, delivered Isp, Kn max/min/avg, web thickness, port/throat ratio, propellant mass and length, initial free volume, two igniter mass estimates, and peak mass flux/flow - plus any messages BurnSim generated about the design. Every line it can print is described on its own page: Results Tab
  • Test Data - import, edit and manage real motor-test data; see Test Data Tab
  • Notes - free-text notes about the motor, saved inside the .bsx file
The Results tab's individual field descriptions - port/throat ratio, initial free volume and igniter mass - were on this page until September 2026. They moved to Results Tab, where the rest of that tab's lines are documented alongside them.