The Impulse Navigation module is a backend API that calcuates vessel movement on a impulse navigation grid based on thrust and bearing variables set by console controls. The module pulls data on the vessel's current location, heading and speed as part of calculations.

The module is used by any active vessel or TSMO.

The module calculates navigation actions for one maneuvering cycle. At the beginning of each cycle, the module is called and the current value of helm controls is used to calculate the navigation actions for that cycle. The length of the maneuvering cycle is dependent on how often the module is called (usually every one second).

The impulse navigation simulation is grid-based, with a grid being 3000km square.

A grid unit is the lowest unit of measure possible, as the system locates an object by grid co-ordinates made up of integers.

Helm maneuvering involves applying directional thrust to alter the vessel's heading. It is entered into the system by deciding how many degrees to adjust the current direction of travel by (the * bearing*) and the distance traveled during the maneuver (

*For example, a maneuver bearing 30° at a velocity of 3 grids/sec gives a grid shift of X3, Y2.*

A negative bearing indicates a turn to the vessel's starboard side. A positive bearing indicates a turn to the vessel's port side. As the bearing represents a change in direction of travel it is added to the current heading to give the new heading.

Users select the bearing or vector by which they wish to adjust the vessel's direction. When ready, the user will ** engage** the helm maneuver, which results in the module calculating the resulting changes in heading or vector in the next maneuvering cycle.

The vessel's new position is calculated by adding the grid shift to the vessel's starting position at the beginning of the maneuver.

*For example, the vessel has a starting grid position of X100, Y100 with a heading of 90°. A helm maneuver bearing 30° velocity 3 grids/sec is executed. The vessel's new position is X103, Y102 with a heading of 120° (previous heading 90° plus a bearing of 30°).*

The maneuver's X and Y grid shift (in orange on the diagram) form the adjacent (X) and opposite (Y) sides of a right-triangle. The hypotenuse (blue) is calculated using the new heading (angle from adjacent side) and velocity (length).

where * X* and

The vessel's speed is retrieved in km/sec and is converted to * grids per cycle*. This value is used as the maneuver's velocity.

Helm maneuvers with higher bearings are broken down into multiple stages to better represent natural vessel movement. A bearing of 90° would not manifest as a sharp right-angle turn - it would be a curve described by the vessel's speed and inertia (or * leeway*).

The maneuver's velocity and bearing are divided by the number of maneuvering stages and each stage is calculated cumulatively.

Helm maneuvers are carried out by changing the direction of engine thrust, which causes the ship's heading to change in the opposite direction. This process is referred to as *gimballing* the engines. The maximum extent to which the direction of thrust can be changed is referred to as the engine's *gimbal limit*.

The vessel's speed influences the amount of heading change for a given gimbal angle. The faster the vessel's speed, the larger a heading change that can be acehived with the same gimbal angle.

Gimbal limits are caculated differently depending on the engine mode:

Where the helm maneuver is engaged in **drive mode**, no additional thurst is applied. Only the current thrust is used to achieve the maneuver, so the gimbal limit is calculated based on the maximum radial acceleration that system can handle:

where * L* is the maximum radial acceleration supported by the system (for

Where the helm maneuver is engaged in **cruise mode**, additional thrust must be applied, so the gimbal limit is based on how much power the engines can handle. The gimbal limit is calculated as:

where M is maximum power input the engines are rated at (for *Endeavour* this is 12) and P is the actual power applied to the engines to generate thrust for the maneuver.

A vector is a vertical bearing. The system calculates a grid shift on the Z-axis if the maneuver includes a vector.

No vertical heading is currently recorded as helm maneuvering is restricted as much as possible to X and Y axes. The vessel automatically returns itself to a zero vector on completion of the maneuver.

where ** T** is the vector,

Vectors above 90° are not possible.

By default, the impulse navigation will apply the helm maneuver settings only within a single maneuvering cycle, after the user engages the maneuver.The settings will not be applied again until the user engages the maneuver again.

*For example, the vessel has a heading of 90° and a meaneuver of bearing 10° is engaged. On the next maneuvering cycle, the vessel's heading changes to 100° and remains at that value through the following maneuver cycles until the next time a helm maneuver is engaged.*

If the helm's ** hold **mode is selected then the current bearing will be applied for each maneuvering cycle until hold mode is deselected. This allows the vessel to maintain a curved flight path across multiple maneuvering cycles.

The amount of thrust delivered by the impulse engines is controlled from the helm, where the quartermaster applies power to the engines to deliver the required thrust.

When the MIE simulation system is completed, Thrust will be calculated by that system. For initial training and simulation purposes, a thrust calculation function is included in the impulse navigation module.

Efficiency of the impulse engines varies over their operating range. The response profile is described by a Lorentzian cumulative distribution function.

where ** x** is the power input,

Engine thrust produces substantial EM emissions. The impulse navigation module calls the correct ** EM Output Profile** and uses this to calculate the thrust level of the current maneuvering cycle.

EM output is calculated for each band as:

where * E *is the EM output,

As a result of operating requirements the engines output some EM whether thrust is being applied or not. This minimum is defined by the min value for each band in the EM Output Profile.

Changes in the vessel's direction are achieved by varying the direction of thrust. Where the vessel is not in drive mode (ie no thrust is being applied as with cruise mode - see below), then power is automatically applied to the engines to generate sufficient thrust to acheive the maneuver.This will increase the EM emissions accordingly.

This power applied to the engines to generate thrust for a helm maneuver in cruise mode is calculated as:

where * P* is the power automatically applied to the engine to generate thrust,

If thrust is already being applied in drive mode, then no additional thrust is required for helm maneuvers and there is no impact on power levels or EM emissions.

Acceleration is the conversion of thrust into vessel movement, described as the number of grid units added to speed per maneuvering cycle (GU/sec^{2}). Grid units are not displayed on crew-facing consoles – the units will be converted to *KM/sec ^{2}* or

The operational mode where thrust is adding tovessel speed is referred to as *drive mode*.

As the vessel travels faster, it encounters relativistic drag which increases the effective mass of the vessel. This reduces the amount of acceleration produced for the same amount of thrust (as there is effectively more vessel to push).

The response profile describing this is based on an inverse log function.

Where ** x** is thrust in GN,

The vessel has a system of plasma diverters and forward-facing impulse thrusters that can decelerate and stop the vessel. Thrust is applied in reverse mode, which produces deceleration (is this value is subtracted from speed rather than added).

Reverse thrust introduces inefficiencies which are reflected as a modifier to the acceleration function.

where ** x** is thrust,

By default, the reverse mode will automatically cut thrust when the vessel's speed reaches zero, being the vessel to *all stop*.

If the hold mode is enagged while the reverse mode is also engaged then the vessel will apply reverse acceleration. This allows the vessel to be reversed if needed.

Helm users may nominate a target cruising speed. Once the vessel has accelerated to that speed, thrust will automatically be cut and the speed maintained by the vessel's inertia. This operating mode is referred to as *cruise mode*.

Acceleration as calculated above describes linear movement of the vessel. Additional acceleration forces are applied to the ship during helm maneuvers (away from a linear movement path). This is referred to as radial acceleration (or "inertial shift"). Factors such as speed and bearing/vector all contribute to radial acceleration.

where * s* is the vessel's current speed (in grids/cycle),

Where a helm maneuver includes both a bearing and a vector, the two are calculated indepdently and the acceleration added together.

G-force describes the application of acceleration to the interior spaces of the vessel and the crew. G-force is calculated by dividing acceleration by 9.8 (which describes Earth gravity).