# Modular Burner System Information This section controls everything related to the burners that various hot air balloons use to inflate (and maintain inflated) the envelope that keeps them aloft. This system is a simple one, and takes into consideration the following things: - Burner fuel is always liquid propane gas. - Multiple burners, since some balloons are equipped with several burners for failure tolerance. - Burners can have different modes of operation, for example a main "blast" mode for maximum power, and a quieter "whisper" mode for less power and noise. - Burner heating power and fuel consumption is modeled and will depend on the valve(s).   The different **components** available are as follows: - **[Burner](modular-burner-system-information/#burnern)**: This defines one or more liquid propane gas burners for a hot air balloon. - **[Valve](modular-burner-system-information/#valven)**: This defines one or more valves required by the burners of a hot air balloon.   The following is a simple example for the setup of a typical set of burners used by a balloon: ``` xml [BURNER_SYSTEM] Burner.1 = Name:Burner_1 Burner.2 = Name:Burner_2 Valve.1 = Burner:1 #MaxFlowRate:0.149 #Power:10000000 #Name:Burner1_Main Valve.2 = Burner:1 #MaxFlowRate:0.12 #Power:8000000 #Name:Burner1_Whisper Valve.3 = Burner:1 #MaxFlowRate:0.000154 #Power:0 #Name:Burner1_Pilot Valve.4 = Burner:2 #MaxFlowRate:0.149 #Power:10000000 #Name:Burner2_Main Valve.5 = Burner:2 #MaxFlowRate:0.12 #Power:8000000 #Name:Burner2_Whisper Valve.6 = Burner:2 #MaxFlowRate:0.000154 #Power:0 #Name:Burner2_Pilot ```   It should be noted that you will need to set up a fuel **consumer** for each burner in the `[FUEL_SYSTEM]` section of the `flight_model.cfg`. This consumer should be a burner, and it should be connected to a valve (which is used as the *pilot light valve*) and a tank for the fuel. You will also need to ensure that the `fuel_type` is set to propane gas (6), for example: ``` xml [FUEL_SYSTEM] Version = Latest fuel_type = 6 Curve.1 = 0:0, 0.2:44, 1:92 Burner.1 = Name:Burner# Index:1 Tank.1 = Name:Tank1 #Title:TANK1 #Capacity:15 #UnusableCapacity:3 #Position:0, -1, -0.5 #PressureCurve:1 #OutputOnlyLines:TankToValve1 Tank.2 = Name:Tank2 #Title:TANK2 #Capacity:15 #UnusableCapacity:3 #Position:0, -1, 0.5 #PressureCurve:1 #OutputOnlyLines:TankToValve2 Line.1 = Name:TankToValve1 #Source:Tank1 #Destination:TankValve1 Line.2 = Name:TankToValve2 #Source:Tank2 #Destination:TankValve2 Line.3 = Name:TankValveToJunction1 #Source:TankValve1 #Destination:Junction Line.4 = Name:TankValveToJunction2 #Source:TankValve2 #Destination:Junction Line.5 = Name:JunctionToBurnerValve #Source:Junction #Destination:BurnerValve Line.6 = name:ValveToBurner #Source:BurnerValve #Destination:Burner Valve.1 = Name:TankValve1 Valve.2 = Name:TankValve2 Valve.3 = Name:BurnerValve Junction.1 = Name:Junction #InputOnlyLines:TankValveToJunction1, TankValveToJunction2 #OutputOnlyLines:JunctionToBurnerValve Trigger.1 = Name:"Autostart" #Condition:Autostart_Enabled #EffectTrue:OpenValve.TankValve1, OpenValve.BurnerValve1 Trigger.2 = Name:"Autoshutdown" #Condition:Autoshutdown_Enabled #EffectTrue:CloseValve.BurnerValve2, CloseValve.BurnerValve1 ``` Finally, you can use SimVars to get and set information related to the balloon burner system. These SimVars are listed here: - [Balloon Variables](../../../programming-apis/simvars/balloon-variables/)     ### Burner.N The main component of the burner system is the burner itself. Each burner is created as a hash map comprised of the following multiple `key:value` pairs, separated by the `#` symbol: ``` cpp Burner.N = Name: #PilotLightFlowRate: ``` Note that you may have more than one burner, so in these cases you would add further Burner components and increment the *`N`* index, starting from 1. A full example of a single burner definition would be like this: ``` cpp Burner.1 = Name:Burner_1 #PilotLightFlowRate:0.000154 ``` {{< table-wrapper >}} | Key | Value | Description | Required | |--------|--------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------:| | `Name` | String | This is a name string that is used as an alias to identify the burner. It will also be used as the reference index for SimVars, and note that the name is the only guaranteed reference to the component due to the fact that the [Modular Aircraft Merging](../../modular-simobjects/modular-simobject-merging/) process may change the index. The name cannot contain special characters or spaces. | Yes | {{< /table-wrapper >}}   The following SimVars are available for this component: 1. `BURNER HEATING POWER` 2. `BURNER PILOT LIGHT ON`     ### Valve.N For a burner to work correctly it needs to have at least 1 valve to control the output of the associated burner. Each valve is created as a hash map comprised of the following multiple `key:value` pairs, separated by the `#` symbol: ``` cpp Valve.N = Name: #Burner: #MaxFlowRate: #Power: ``` Note that you may have more than one valve to create different flowrates for a specific burner, so for each one you should increment the *`N`* index, starting from 1. A full example of a single valve definition would be like this: ``` cpp Valve.1 = #Name:Burner1_Main Burner:1 #MaxFlowRate:0.149 #Power:10000000 ```
KeyValueDescriptionRequired
NameStringThis is a name string that is used as an alias to identify the valve. It will also be used as the reference index for SimVars, and note that the name is the only guaranteed reference to the component due to the fact that the Modular Aircraft Merging process may change the index. The name cannot contain special characters or spaces.Yes
BurnerIntegerThis is the index of the burner that the valve should be associated with.Yes
MaxFlowRateFloatThis defines the fuel consumption, in lbs/s, when this valve is open.Yes
PowerFloat

This defines the heating power, in BTU/hour, applied to the air inside the envelope when the burner is firing by opening this valve. There are essentially two types of valves, based on the heating power:

  • If the heating power is set to 0, then the valve is for a pilot flame, which will not contribute to the heating of the envelope. If this setting is used then a very small flow-rate should also be used.
  • If the heating power is set to greater than 0, then the valve is for a regular burner and will be able to ignite neighbouring burners that also have an open valve with power greater than 0.
Yes
  It should be noted that if you open multiple valves on the same burner (for example the "main blast" and "whisper" valves), the fuel consumption and heating power will be the **sum of all the valves' values**. This is not 100% accurate to burners in the real world where fuel consumption and heating power would reach a value *lower* than the sum of each valve's flow rate.   The following SimVars are available for this component: 1. `AIRSHIP VALVE STATE` 2. `BURNER VALVE OPEN VALUE`