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.
This commit is contained in:
JoePfeiffer 2020-09-06 17:26:59 -06:00
parent 3f7009b9f7
commit b64a3b3fa8
17 changed files with 26 additions and 26 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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()));
// }
}

View File

@ -19,7 +19,7 @@ public class MassCalculator implements Monitorable {
*/
// private HashMap< Integer, MassData> stageMassCache = new HashMap<Integer, MassData >();
// private MassData rocketSpentMassCache;
// private MassData propellantMassCache;
// private MassData motorMassCache;
private int modId = 0;

View File

@ -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);

View File

@ -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);

View File

@ -91,8 +91,8 @@ public class FlightDataType implements Comparable<FlightDataType> {
//// 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<FlightDataType> {
TYPE_PITCH_RATE,
TYPE_YAW_RATE,
TYPE_MASS,
TYPE_PROPELLANT_MASS,
TYPE_MOTOR_MASS,
TYPE_LONGITUDINAL_INERTIA,
TYPE_ROTATIONAL_INERTIA,
TYPE_CP_LOCATION,

View File

@ -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);

View File

@ -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

View File

@ -41,7 +41,7 @@ public class DampingMoment extends AbstractSimulationListener {
// dm/dt = (thrust - ma)/v
FlightDataBranch data = status.getFlightData();
List<Double> mpAll = data.get(FlightDataType.TYPE_PROPELLANT_MASS);
List<Double> mpAll = data.get(FlightDataType.TYPE_MOTOR_MASS);
List<Double> time = data.get(FlightDataType.TYPE_TIME);
if (mpAll == null || time == null) {
return Double.NaN;

View File

@ -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");