HYDRAULICS SYSTEM SETUP INFORMATION

The information on this page is related to the modular hydraulics system, as defined in the [HYDRAULICS_SYSTEM_EX1] section of the systems.cfg file.

 

In the simulation, hydraulic components contain hydraulic fluid, and this has a volume and a pressure. In the simulation we consider hydraulic fluid as non-compressible (even though in reality it is a tiny amount), thus their volume will never change in reaction to a change in pressure, and the fluid will simply be pushed around the hydraulic system. What this means is that when a fluid is being pressurised and has somewhere to go, the pressure will drop and the fluid will no longer be getting "pushed" as before. This is reflected in the hydraulics system and all components will depressurise over time, unless they are kept pressurised by a pump and a closed line.

 

The way that hydraulic fluid can be "pushed" around the system is either by gravity or by mechanical force:

  • Gravity manages ambient pressure flows, usually when components are not full and therefor not pressurised. For simplicity in the simulation, all component are considered as being at the same height. This means that all components will balance their hydraulic fluid according to the neighbouring components such that they will all tend to contain the same relative amount of fluid. For example, a fully empty line will be filled up by a connected full reservoir, until they both have the same proportional amount of fluid. If we say this line has a capacity of 50mL, and the reservoir has a capacity of 5L, then the equilibrium is 5000 / 5050 : 99%.
  • Mechanical force is used to make pressurised exchanges of fluid. This type of pressure exchange is typically initiated by pumps, and flow through mechanical force has two sides: the pull force and push force.
    A pump will generate lower pressure on its inputs, taking fluid from them, which is the pull force. When pulling fluid from the pump inputs, a pressure differential is created as fluid drains from the input component, which means those components will exert their own pull force on any other attached input component until the pressure demand is satisfied or the pump is stopped (using an an actuator, or closing a line valve, for example).
    A pump will generate higher pressure on its outputs, adding fluid to them, which is the push force. When pushing fluid from to the pump outputs, the outputs will take all the fluid that they can, and anything left will be pushed onto any other lines and components that leave the output component. This will happen until the the output components can't take any more or the pump is stopped. Note that any excess fluid that is still under pressure then be pushed into the relief port of the pump, and typically back into the system reservoir.

 

Note that to balance realism against ease of use, lines will take into consideration pressure and the availability of fluid flow, but will not take into consideration the length of the line nor the width of the line tube. This compromise avoids the requirement for extensive knowledge of the systems being described and removes many expensive internal computations from the simulation, while still providing good results.

IMPORTANT! Some lines in the hydraulic system are auto-generated for you. This is because each system has to be a closed loop, and so the simulation can easily deduce where some lines need to go. This is explained in more detail here: Automatic Generation of Lines

 

The following is a simple example of an aircraft for which a hydraulic system only powers the landing gear. The system has a reservoir, a pump, an accumulator and an actuator, and would be setup as follows:

Reservoir.1 = Name:Tank #Maxcapacity:10 #WearAndTearCollision:GlobalDamage
Pump.1 = Name:ElectricPump #Type:Electric #Normalpressure:2000 #Nominaldisplacement:600 #Circuit:HydraulicPump #Mode:Auto #WearAndTearCollision:GlobalDamage
Accumulator.1 = Name:Accumulator #Normalpressure:2000 #Initialpressure:1700 #Capacity:500 #WearAndTearCollision:GlobalDamage
Actuator.1 = Name:LandingGear #Fluidvolume:300 #Minimalpressure:1300 #Type:LandingGear #WearAndTearCollision:GlobalDamage
Line.1 = Name:TankToPump #Inputs:Tank #Outputs:ElectricPump #WearAndTearCollision:GlobalDamage
Line.2 = Name:PumpToLdgGear #Inputs:ElectricPump #Outputs:LandingGear #Accumulator:Accumulator #WearAndTearCollision:GlobalDamage

 

 

Electrical Definitions

Some of the hydraulic system components need to be powered electrically, therefor definitions must be added to the the [ELECTRICAL] section of the systems.cfg file. When setting up the electrics, each component must be defined with a name, its power usage, the bus it's connected to, and a circuit type. There are two types corresponding to the hydraulic components that need power:

  • CIRCUIT_HYDRAULIC_PUMP - for the pump components
  • CIRCUIT_HYDRAULIC_VALVE - for the valve components

 

A typical circuit definition would look like this:

circuit.54 = Type:CIRCUIT_HYDRAULIC_PUMP #Voltage:24 #Amperage:2 #Name:HydraulicPump #WearAndTearCollision:GlobalDamage

You can find further examples on the following page:

 

 

Note On Redundancy

Redundancy allows you to easily duplicate actuators when multiple hydraulics systems are able to power the same control surface. As each hydraulic system is a closed loop and cannot exchange fluid with other systems, it's as if the number of actuators is actually being multiplied.

 

Redundant actuators still need to be connected by a line to the hydraulic system for it to be considered a part of the system and be used by the wear-and-tear/failure system. To do this, connections to the line must be created using the actuator name suffixed by an integer value which is the index of the actuator. For example, here we define an actuator that has triple redundancy:

Actuator.1 = Name:Rudder #MinimalPressure:5000 #FluidVolume:100 #Type:Rudder #Redundancy:3

When defining the lines that connect this actuator to the various redundancy systems, you would have something like this:

Line.1 = Name:PumpSystemAToRudder #Inputs:PumpA #Outputs:Rudder_1
Line.2 = Name:PumpSystemBToRudder #Inputs:PumpB #Outputs:Rudder_2
Line.3 = Name:PumpSystemCToRudder #Inputs:PumpC #Outputs:Rudder_3

If you need data about the actuator using the relevant SimVars (see here: Hydraulics), you can use the actuator name suffixed by its index, or you can use "<NAME>_n". This format tells the simulation to retrieve the data from the iteration of the actuator with the best pressure and integrity levels, rather than a specific actuator.

 

 

Automatic Generation of Lines

Hydraulics Systems are closed loop circuits, which means that there must always be a path back to the reservoir for the hydraulic fluid. Because of this, it's possible that there will be multiple lines with the sole purpose of carrying hydraulic fluid back to the reservoir, but that do not actually participate in the working of the hydraulics system itself in any other meaningful way. These lines do not need to be created as part of the system definition as the simulation will take care of that for you, making it simpler to create and maintain the definitions for each aircraft.

 

When the hydraulics system is initialised, the simulation will recursively browse through the inputs of the components that need line generation until a reservoir is found. When a reservoir is found, a line from the source component to the reservoir will be created. In the (standard) case of a single reservoir system, all actuators will share a common line to the reservoir, as will pumps, and PTUs. So we can say that generated lines will be one of the following:

  • Output lines of Actuators
  • Relief port lines of Pumps and PTUs
  • MotorOutput port lines of non-reversible PTUs (since a reversible PTU can have its motor work as a pump, and you don’t want to connect the output of a pump back to a reservoir).

 

The simulation will only infer missing lines, so if the output of an actuator requires a very specific path before going back to the reservoir, you can still specify this using the CFG definition, and the simulation will recognise this and not auto-generate the line.

 

 

Note On Port Connections

Complex components, such as Pumps and PTUs don’t have a single input and a single output. Instead they have port connections. These ports permit the definition of more than one input/output for the component, letting you have more complex connections within the system. Port connections are still defined as part of the input and output keys of the hash-map, but are written with the following format:

#Inputs: <componentName>.<PortName>

So, for example, if you want to define a line that connects to the Motor Input port of a PTU you would have something like the following:

Line.1 = Name:JunctionAToPTUMotor #Inputs:JunctionA #Outputs:PTU.MotorInput #Valves:ValvePTU

If a component has a relief port, then this is the port that is used when all other outputs for the component are full. Excess hydraulic fluid could create large pressure increases or prevent the component from working, and so all excess hydraulic fluid is pushed to the relief, and then (usually) directly back to the tank.