diff --git a/core/resources/l10n/messages.properties b/core/resources/l10n/messages.properties index be9630a1d..ee5cb6480 100644 --- a/core/resources/l10n/messages.properties +++ b/core/resources/l10n/messages.properties @@ -2030,6 +2030,7 @@ FlightDataType.TYPE_STABILITY = Stability margin calibers FlightDataType.TYPE_MACH_NUMBER = Mach number FlightDataType.TYPE_REYNOLDS_NUMBER = Reynolds number FlightDataType.TYPE_THRUST_FORCE = Thrust +FlightDataType.TYPE_THRUST_WEIGHT_RATIO = Thrust-to-weight ratio FlightDataType.TYPE_DRAG_FORCE = Drag force FlightDataType.TYPE_DRAG_COEFF = Drag coefficient FlightDataType.TYPE_AXIAL_DRAG_COEFF = Axial drag coefficient diff --git a/core/src/net/sf/openrocket/simulation/FlightDataType.java b/core/src/net/sf/openrocket/simulation/FlightDataType.java index 950b0c728..f2ddb02e1 100644 --- a/core/src/net/sf/openrocket/simulation/FlightDataType.java +++ b/core/src/net/sf/openrocket/simulation/FlightDataType.java @@ -115,12 +115,14 @@ public class FlightDataType implements Comparable { //// Thrust and drag //// Thrust public static final FlightDataType TYPE_THRUST_FORCE = newType(trans.get("FlightDataType.TYPE_THRUST_FORCE"), "Ft", UnitGroup.UNITS_FORCE, 70); + //// Thrust-to-weight ratio + public static final FlightDataType TYPE_THRUST_WEIGHT_RATIO = newType(trans.get("FlightDataType.TYPE_THRUST_WEIGHT_RATIO"), "Twr", UnitGroup.UNITS_COEFFICIENT, 71); //// Drag force - public static final FlightDataType TYPE_DRAG_FORCE = newType(trans.get("FlightDataType.TYPE_DRAG_FORCE"), "Fd", UnitGroup.UNITS_FORCE, 71); + public static final FlightDataType TYPE_DRAG_FORCE = newType(trans.get("FlightDataType.TYPE_DRAG_FORCE"), "Fd", UnitGroup.UNITS_FORCE, 72); //// Drag coefficient - public static final FlightDataType TYPE_DRAG_COEFF = newType(trans.get("FlightDataType.TYPE_DRAG_COEFF"), "Cd", UnitGroup.UNITS_COEFFICIENT, 72); + public static final FlightDataType TYPE_DRAG_COEFF = newType(trans.get("FlightDataType.TYPE_DRAG_COEFF"), "Cd", UnitGroup.UNITS_COEFFICIENT, 73); //// Axial drag coefficient - public static final FlightDataType TYPE_AXIAL_DRAG_COEFF = newType(trans.get("FlightDataType.TYPE_AXIAL_DRAG_COEFF"), "Cda", UnitGroup.UNITS_COEFFICIENT, 73); + public static final FlightDataType TYPE_AXIAL_DRAG_COEFF = newType(trans.get("FlightDataType.TYPE_AXIAL_DRAG_COEFF"), "Cda", UnitGroup.UNITS_COEFFICIENT, 74); //// Component drag coefficients @@ -218,6 +220,7 @@ public class FlightDataType implements Comparable { TYPE_MACH_NUMBER, TYPE_REYNOLDS_NUMBER, TYPE_THRUST_FORCE, + TYPE_THRUST_WEIGHT_RATIO, TYPE_DRAG_FORCE, TYPE_DRAG_COEFF, TYPE_AXIAL_DRAG_COEFF, diff --git a/core/src/net/sf/openrocket/simulation/RK4SimulationStepper.java b/core/src/net/sf/openrocket/simulation/RK4SimulationStepper.java index 16cd9fd35..5c3934a0a 100644 --- a/core/src/net/sf/openrocket/simulation/RK4SimulationStepper.java +++ b/core/src/net/sf/openrocket/simulation/RK4SimulationStepper.java @@ -623,6 +623,8 @@ public class RK4SimulationStepper extends AbstractSimulationStepper { } data.setValue(FlightDataType.TYPE_THRUST_FORCE, store.thrustForce); + double weight = store.rocketMass.getMass() * store.gravity; + data.setValue(FlightDataType.TYPE_THRUST_WEIGHT_RATIO, store.thrustForce / weight); data.setValue(FlightDataType.TYPE_DRAG_FORCE, store.dragForce); data.setValue(FlightDataType.TYPE_GRAVITY, store.gravity);