From b64a3b3fa856edad45be7d1c0ea4d1d2300e9c62 Mon Sep 17 00:00:00 2001 From: JoePfeiffer Date: Sun, 6 Sep 2020 17:26:59 -0600 Subject: [PATCH] The simulation now uses mass data from the entire motor as a unit, rather than separating out the propellant data. This commit clarifies the code by replacing instances of "propellant" with "motor" in variable names and messages where appropriate. It does not update the translations into other languages. --- core/resources/l10n/messages.properties | 2 +- core/resources/l10n/messages_es.properties | 2 +- core/resources/l10n/messages_fr.properties | 2 +- core/resources/l10n/messages_ja.properties | 2 +- core/resources/l10n/messages_pt.properties | 2 +- core/resources/l10n/messages_ru.properties | 2 +- core/resources/l10n/messages_uk_UA.properties | 2 +- core/resources/l10n/messages_zh_CN.properties | 2 +- .../net/sf/openrocket/masscalc/MassCalculation.java | 10 +++++----- .../src/net/sf/openrocket/masscalc/MassCalculator.java | 2 +- .../sf/openrocket/simulation/BasicLandingStepper.java | 2 +- .../sf/openrocket/simulation/BasicTumbleStepper.java | 2 +- .../net/sf/openrocket/simulation/FlightDataType.java | 6 +++--- .../net/sf/openrocket/simulation/GroundStepper.java | 2 +- .../sf/openrocket/simulation/RK4SimulationStepper.java | 6 +++--- .../simulation/listeners/example/DampingMoment.java | 2 +- .../src/net/sf/openrocket/gui/print/DesignReport.java | 4 ++-- 17 files changed, 26 insertions(+), 26 deletions(-) diff --git a/core/resources/l10n/messages.properties b/core/resources/l10n/messages.properties index 5951d39c5..106ceb46e 100644 --- a/core/resources/l10n/messages.properties +++ b/core/resources/l10n/messages.properties @@ -1632,7 +1632,7 @@ FlightDataType.TYPE_ROLL_RATE = Roll rate FlightDataType.TYPE_PITCH_RATE = Pitch rate FlightDataType.TYPE_YAW_RATE = Yaw rate FlightDataType.TYPE_MASS = Mass -FlightDataType.TYPE_PROPELLANT_MASS = Propellant mass +FlightDataType.TYPE_MOTOR_MASS = Motor mass FlightDataType.TYPE_LONGITUDINAL_INERTIA = Longitudinal moment of inertia FlightDataType.TYPE_ROTATIONAL_INERTIA = Rotational moment of inertia FlightDataType.TYPE_CP_LOCATION = CP location diff --git a/core/resources/l10n/messages_es.properties b/core/resources/l10n/messages_es.properties index 2e9bd3c35..15416c61d 100644 --- a/core/resources/l10n/messages_es.properties +++ b/core/resources/l10n/messages_es.properties @@ -314,7 +314,7 @@ FlightDataType.TYPE_POSITION_X = Posici\u00f3n contra el viento FlightDataType.TYPE_POSITION_XY = Distancia lateral FlightDataType.TYPE_POSITION_Y = Posici\u00f3n a favor del viento FlightDataType.TYPE_PRESSURE_DRAG_COEFF = Presi\u00f3n del Coeficiente de rozamiento -FlightDataType.TYPE_PROPELLANT_MASS = Masa del propulsor +FlightDataType.TYPE_MOTOR_MASS = Masa del propulsor FlightDataType.TYPE_REFERENCE_AREA = \u00c1rea de referencia FlightDataType.TYPE_REFERENCE_LENGTH = Longitud de referencia FlightDataType.TYPE_REYNOLDS_NUMBER = N\u00famero de Reynolds diff --git a/core/resources/l10n/messages_fr.properties b/core/resources/l10n/messages_fr.properties index c5fd19271..181838f72 100644 --- a/core/resources/l10n/messages_fr.properties +++ b/core/resources/l10n/messages_fr.properties @@ -305,7 +305,7 @@ FlightDataType.TYPE_POSITION_X = Position contre le vent FlightDataType.TYPE_POSITION_XY = Distance lat\u00E9rale FlightDataType.TYPE_POSITION_Y = Position parall\u00E8le au vent FlightDataType.TYPE_PRESSURE_DRAG_COEFF = Coefficient de tra\u00EEn\u00E9e de pression -FlightDataType.TYPE_PROPELLANT_MASS = Masse du propergol +FlightDataType.TYPE_MOTOR_MASS = Masse du propergol FlightDataType.TYPE_REFERENCE_AREA = Surface de r\u00E9f\u00E9rence FlightDataType.TYPE_REFERENCE_LENGTH = Longueur de r\u00E9f\u00E9rence FlightDataType.TYPE_REYNOLDS_NUMBER = Nombre de Reynolds diff --git a/core/resources/l10n/messages_ja.properties b/core/resources/l10n/messages_ja.properties index 1b1133f77..09c788dc7 100644 --- a/core/resources/l10n/messages_ja.properties +++ b/core/resources/l10n/messages_ja.properties @@ -1385,7 +1385,7 @@ FlightDataType.TYPE_ROLL_RATE = \u89D2\u901F\u5EA6\uFF08\u30ED\u30FC\u30EB\uFF0 FlightDataType.TYPE_PITCH_RATE = \u89D2\u901F\u5EA6\uFF08\u30D4\u30C3\u30C1\uFF09 FlightDataType.TYPE_YAW_RATE = \u89D2\u901F\u5EA6\uFF08\u30E8\u30FC\uFF09 FlightDataType.TYPE_MASS = \u8CEA\u91CF -FlightDataType.TYPE_PROPELLANT_MASS = \u8EF8\u65B9\u5411\u6163\u6027\u30E2\u30FC\u30E1\u30F3\u30C8 +FlightDataType.TYPE_MOTOR_MASS = \u8EF8\u65B9\u5411\u6163\u6027\u30E2\u30FC\u30E1\u30F3\u30C8 FlightDataType.TYPE_LONGITUDINAL_INERTIA = \u9577\u624B\u65B9\u5411\u6163\u6027\u30E2\u30FC\u30E1\u30F3\u30C8 FlightDataType.TYPE_ROTATIONAL_INERTIA = \u30ED\u30FC\u30EB\u65B9\u5411\u6163\u6027\u30E2\u30FC\u30E1\u30F3\u30C8 FlightDataType.TYPE_CP_LOCATION = CP\u4F4D\u7F6E diff --git a/core/resources/l10n/messages_pt.properties b/core/resources/l10n/messages_pt.properties index 33b1c387a..fc1d3e0d4 100644 --- a/core/resources/l10n/messages_pt.properties +++ b/core/resources/l10n/messages_pt.properties @@ -294,7 +294,7 @@ FlightDataType.TYPE_POSITION_X = Posi\u00e7\u00e3o a favor do ve FlightDataType.TYPE_POSITION_XY = Dist\u00e2ncia lateral FlightDataType.TYPE_POSITION_Y = Posi\u00e7\u00e3o paralela ao vento FlightDataType.TYPE_PRESSURE_DRAG_COEFF = Coeficiente de arrasto de press\u00e3o -FlightDataType.TYPE_PROPELLANT_MASS = Massa do propelente +FlightDataType.TYPE_MOTOR_MASS = Massa do propelente FlightDataType.TYPE_REFERENCE_AREA = \u00c1rea de refer\u00eancia FlightDataType.TYPE_REFERENCE_LENGTH = Comprimento de refer\u00eancia FlightDataType.TYPE_REYNOLDS_NUMBER = N\u00famero de Reynolds diff --git a/core/resources/l10n/messages_ru.properties b/core/resources/l10n/messages_ru.properties index 9ae7b5970..a60b361d5 100644 --- a/core/resources/l10n/messages_ru.properties +++ b/core/resources/l10n/messages_ru.properties @@ -1477,7 +1477,7 @@ FlightDataType.TYPE_ROLL_RATE = \u0423\u0433\u043b\u043e\u0432\u0430\u044f \u044 FlightDataType.TYPE_PITCH_RATE = \u0423\u0433\u043b\u043e\u0432\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0442\u0430\u043d\u0433\u0430\u0436\u0430 FlightDataType.TYPE_YAW_RATE = \u0423\u0433\u043b\u043e\u0432\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u044b\u0441\u043a\u0430\u043d\u044c\u044f FlightDataType.TYPE_MASS = \u041c\u0430\u0441\u0441\u0430 -FlightDataType.TYPE_PROPELLANT_MASS = \u041c\u0430\u0441\u0441\u0430 \u0442\u043e\u043f\u043b\u0438\u0432\u0430 +FlightDataType.TYPE_MOTOR_MASS = \u041c\u0430\u0441\u0441\u0430 \u0442\u043e\u043f\u043b\u0438\u0432\u0430 FlightDataType.TYPE_LONGITUDINAL_INERTIA = \u041f\u0440\u043e\u0434\u043e\u043b\u044c\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u043d\u0435\u0440\u0446\u0438\u0438 FlightDataType.TYPE_ROTATIONAL_INERTIA = \u041a\u0440\u0443\u0442\u044f\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u043d\u0435\u0440\u0446\u0438\u0438 FlightDataType.TYPE_CP_LOCATION = \u041f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0426\u0414 diff --git a/core/resources/l10n/messages_uk_UA.properties b/core/resources/l10n/messages_uk_UA.properties index 05fbebbc7..ed4b301c9 100644 --- a/core/resources/l10n/messages_uk_UA.properties +++ b/core/resources/l10n/messages_uk_UA.properties @@ -1483,7 +1483,7 @@ FlightDataType.TYPE_ROLL_RATE = Roll rate FlightDataType.TYPE_PITCH_RATE = Pitch rate FlightDataType.TYPE_YAW_RATE = Yaw rate FlightDataType.TYPE_MASS = Mass -FlightDataType.TYPE_PROPELLANT_MASS = Propellant mass +FlightDataType.TYPE_MOTOR_MASS = Motor mass FlightDataType.TYPE_LONGITUDINAL_INERTIA = Longitudinal moment of inertia FlightDataType.TYPE_ROTATIONAL_INERTIA = Rotational moment of inertia FlightDataType.TYPE_CP_LOCATION = CP location diff --git a/core/resources/l10n/messages_zh_CN.properties b/core/resources/l10n/messages_zh_CN.properties index d6fba3c2c..26b7181a4 100644 --- a/core/resources/l10n/messages_zh_CN.properties +++ b/core/resources/l10n/messages_zh_CN.properties @@ -330,7 +330,7 @@ FlightDataType.TYPE_POSITION_X = \u8FCE\u98CE\u4F4D\u7F6E FlightDataType.TYPE_POSITION_XY = \u6A2A\u5411\u8DE8\u8DDD FlightDataType.TYPE_POSITION_Y = \u5E73\u884C\u98CE\u4F4D\u7F6E FlightDataType.TYPE_PRESSURE_DRAG_COEFF = \u538B\u5DEE\u963B\u529B\u7CFB\u6570 -FlightDataType.TYPE_PROPELLANT_MASS = \u63A8\u8FDB\u5242\u8D28\u91CF +FlightDataType.TYPE_MOTOR_MASS = \u63A8\u8FDB\u5242\u8D28\u91CF FlightDataType.TYPE_REFERENCE_AREA = \u53C2\u8003\u9762\u79EF FlightDataType.TYPE_REFERENCE_LENGTH = \u53C2\u8003\u957F\u5EA6 FlightDataType.TYPE_REYNOLDS_NUMBER = \u96F7\u8BFA\u6570 diff --git a/core/src/net/sf/openrocket/masscalc/MassCalculation.java b/core/src/net/sf/openrocket/masscalc/MassCalculation.java index 0a318e350..3f51f2ed5 100644 --- a/core/src/net/sf/openrocket/masscalc/MassCalculation.java +++ b/core/src/net/sf/openrocket/masscalc/MassCalculation.java @@ -390,15 +390,15 @@ public class MassCalculation { // } if (component.isMotorMount()) { - MassCalculation propellant = this.copy(component, parentTransform); + MassCalculation motor = this.copy(component, parentTransform); - propellant.calculateMountData(); + motor.calculateMountData(); - this.merge( propellant ); + this.merge( motor ); // // vvv DEBUG -// if( 0 < propellant.getMass() ) { -// System.err.println(String.format( "%s........++ propellantData: %s", prefix, propellant.toCMDebug())); +// if( 0 < motor.getMass() ) { +// System.err.println(String.format( "%s........++ motorData: %s", prefix, propellant.toCMDebug())); // } } diff --git a/core/src/net/sf/openrocket/masscalc/MassCalculator.java b/core/src/net/sf/openrocket/masscalc/MassCalculator.java index 6036f853a..72731740b 100644 --- a/core/src/net/sf/openrocket/masscalc/MassCalculator.java +++ b/core/src/net/sf/openrocket/masscalc/MassCalculator.java @@ -19,7 +19,7 @@ public class MassCalculator implements Monitorable { */ // private HashMap< Integer, MassData> stageMassCache = new HashMap(); // private MassData rocketSpentMassCache; - // private MassData propellantMassCache; + // private MassData motorMassCache; private int modId = 0; diff --git a/core/src/net/sf/openrocket/simulation/BasicLandingStepper.java b/core/src/net/sf/openrocket/simulation/BasicLandingStepper.java index cf2cf6e04..75259962a 100644 --- a/core/src/net/sf/openrocket/simulation/BasicLandingStepper.java +++ b/core/src/net/sf/openrocket/simulation/BasicLandingStepper.java @@ -122,7 +122,7 @@ public class BasicLandingStepper extends AbstractSimulationStepper { data.setValue(FlightDataType.TYPE_MACH_NUMBER, mach); data.setValue(FlightDataType.TYPE_MASS, mass); - data.setValue(FlightDataType.TYPE_PROPELLANT_MASS, 0.0); // Is this a reasonable assumption? Probably. + data.setValue(FlightDataType.TYPE_MOTOR_MASS, 0.0); // Is this a reasonable assumption? Probably. data.setValue(FlightDataType.TYPE_THRUST_FORCE, 0); data.setValue(FlightDataType.TYPE_DRAG_FORCE, dragForce); diff --git a/core/src/net/sf/openrocket/simulation/BasicTumbleStepper.java b/core/src/net/sf/openrocket/simulation/BasicTumbleStepper.java index f1e3795dc..97a387976 100644 --- a/core/src/net/sf/openrocket/simulation/BasicTumbleStepper.java +++ b/core/src/net/sf/openrocket/simulation/BasicTumbleStepper.java @@ -121,7 +121,7 @@ public class BasicTumbleStepper extends AbstractSimulationStepper { data.setValue(FlightDataType.TYPE_MACH_NUMBER, mach); data.setValue(FlightDataType.TYPE_MASS, mass); - data.setValue(FlightDataType.TYPE_PROPELLANT_MASS, 0.0); // Is this a reasonable assumption? Probably. + data.setValue(FlightDataType.TYPE_MOTOR_MASS, 0.0); // Is this a reasonable assumption? Probably. data.setValue(FlightDataType.TYPE_THRUST_FORCE, 0); data.setValue(FlightDataType.TYPE_DRAG_FORCE, dragForce); diff --git a/core/src/net/sf/openrocket/simulation/FlightDataType.java b/core/src/net/sf/openrocket/simulation/FlightDataType.java index 615334913..55240861e 100644 --- a/core/src/net/sf/openrocket/simulation/FlightDataType.java +++ b/core/src/net/sf/openrocket/simulation/FlightDataType.java @@ -91,8 +91,8 @@ public class FlightDataType implements Comparable { //// Stability information //// Mass public static final FlightDataType TYPE_MASS = newType(trans.get("FlightDataType.TYPE_MASS"), "m", UnitGroup.UNITS_MASS, 50); - //// Propellant mass - public static final FlightDataType TYPE_PROPELLANT_MASS = newType(trans.get("FlightDataType.TYPE_PROPELLANT_MASS"), "mp", UnitGroup.UNITS_MASS, 51); + //// Motor mass + public static final FlightDataType TYPE_MOTOR_MASS = newType(trans.get("FlightDataType.TYPE_MOTOR_MASS"), "mp", UnitGroup.UNITS_MASS, 51); //// Longitudinal moment of inertia public static final FlightDataType TYPE_LONGITUDINAL_INERTIA = newType(trans.get("FlightDataType.TYPE_LONGITUDINAL_INERTIA"), "Il", UnitGroup.UNITS_INERTIA, 52); //// Rotational moment of inertia @@ -209,7 +209,7 @@ public class FlightDataType implements Comparable { TYPE_PITCH_RATE, TYPE_YAW_RATE, TYPE_MASS, - TYPE_PROPELLANT_MASS, + TYPE_MOTOR_MASS, TYPE_LONGITUDINAL_INERTIA, TYPE_ROTATIONAL_INERTIA, TYPE_CP_LOCATION, diff --git a/core/src/net/sf/openrocket/simulation/GroundStepper.java b/core/src/net/sf/openrocket/simulation/GroundStepper.java index 55355b324..27c50014f 100644 --- a/core/src/net/sf/openrocket/simulation/GroundStepper.java +++ b/core/src/net/sf/openrocket/simulation/GroundStepper.java @@ -62,7 +62,7 @@ public class GroundStepper extends AbstractSimulationStepper { data.setValue(FlightDataType.TYPE_MACH_NUMBER, 0.0); data.setValue(FlightDataType.TYPE_MASS, calculateStructureMass(status).getMass()); - data.setValue(FlightDataType.TYPE_PROPELLANT_MASS, 0.0); // Is this a reasonable assumption? Probably. + data.setValue(FlightDataType.TYPE_MOTOR_MASS, 0.0); // Is this a reasonable assumption? Probably. data.setValue(FlightDataType.TYPE_THRUST_FORCE, 0.0); data.setValue(FlightDataType.TYPE_DRAG_FORCE, 0.0); diff --git a/core/src/net/sf/openrocket/simulation/RK4SimulationStepper.java b/core/src/net/sf/openrocket/simulation/RK4SimulationStepper.java index 7625e113a..77a061662 100644 --- a/core/src/net/sf/openrocket/simulation/RK4SimulationStepper.java +++ b/core/src/net/sf/openrocket/simulation/RK4SimulationStepper.java @@ -613,9 +613,9 @@ public class RK4SimulationStepper extends AbstractSimulationStepper { } if( null != store.motorMass ){ - data.setValue(FlightDataType.TYPE_PROPELLANT_MASS, store.motorMass.getMass()); - //data.setValue(FlightDataType.TYPE_PROPELLANT_LONGITUDINAL_INERTIA, store.propellantMassData.getLongitudinalInertia()); - //data.setValue(FlightDataType.TYPE_PROPELLANT_ROTATIONAL_INERTIA, store.propellantMassData.getRotationalInertia()); + data.setValue(FlightDataType.TYPE_MOTOR_MASS, store.motorMass.getMass()); + //data.setValue(FlightDataType.TYPE_MOTOR_LONGITUDINAL_INERTIA, store.motorMassData.getLongitudinalInertia()); + //data.setValue(FlightDataType.TYPE_MOTOR_ROTATIONAL_INERTIA, store.motorMassData.getRotationalInertia()); } if (store.rocketMass != null) { // N.B.: These refer to total mass diff --git a/core/src/net/sf/openrocket/simulation/listeners/example/DampingMoment.java b/core/src/net/sf/openrocket/simulation/listeners/example/DampingMoment.java index cb8bc78c8..0665766e6 100644 --- a/core/src/net/sf/openrocket/simulation/listeners/example/DampingMoment.java +++ b/core/src/net/sf/openrocket/simulation/listeners/example/DampingMoment.java @@ -41,7 +41,7 @@ public class DampingMoment extends AbstractSimulationListener { // dm/dt = (thrust - ma)/v FlightDataBranch data = status.getFlightData(); - List mpAll = data.get(FlightDataType.TYPE_PROPELLANT_MASS); + List mpAll = data.get(FlightDataType.TYPE_MOTOR_MASS); List time = data.get(FlightDataType.TYPE_TIME); if (mpAll == null || time == null) { return Double.NaN; diff --git a/swing/src/net/sf/openrocket/gui/print/DesignReport.java b/swing/src/net/sf/openrocket/gui/print/DesignReport.java index 84f9a854f..626b7a227 100644 --- a/swing/src/net/sf/openrocket/gui/print/DesignReport.java +++ b/swing/src/net/sf/openrocket/gui/print/DesignReport.java @@ -145,7 +145,7 @@ public class DesignReport { private static final String MAX_THRUST = "Max Thrust"; private static final String TOTAL_IMPULSE = "Total Impulse"; private static final String THRUST_TO_WT = "Thrust to Wt"; - private static final String PROPELLANT_WT = "Propellant Wt"; + private static final String MOTOR_WT = "Motor Wt"; private static final String SIZE = "Size"; private static final String ALTITUDE = "Altitude"; private static final String FLIGHT_TIME = "Flight Time"; @@ -377,7 +377,7 @@ public class DesignReport { motorTable.addCell(ITextHelper.createCell(MAX_THRUST, PdfPCell.BOTTOM, PrintUtilities.SMALL)); motorTable.addCell(ITextHelper.createCell(TOTAL_IMPULSE, PdfPCell.BOTTOM, PrintUtilities.SMALL)); motorTable.addCell(ITextHelper.createCell(THRUST_TO_WT, PdfPCell.BOTTOM, PrintUtilities.SMALL)); - motorTable.addCell(ITextHelper.createCell(PROPELLANT_WT, PdfPCell.BOTTOM, PrintUtilities.SMALL)); + motorTable.addCell(ITextHelper.createCell(MOTOR_WT, PdfPCell.BOTTOM, PrintUtilities.SMALL)); motorTable.addCell(ITextHelper.createCell(SIZE, PdfPCell.BOTTOM, PrintUtilities.SMALL)); DecimalFormat ttwFormat = new DecimalFormat("0.00");