Merge pull request #2505 from JoePfeiffer/fix-2498

Fix 2498
This commit is contained in:
Joe Pfeiffer 2024-07-11 15:48:59 -06:00 committed by GitHub
commit e2b69c4650
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 14 additions and 5 deletions

@ -1 +1 @@
Subproject commit 93054dc2b40d5196433b1d91c636cee2e9dda424
Subproject commit 48eb2172d58c0db6042bd847a782835df056b287

View File

@ -419,14 +419,15 @@ public class Simulation implements ChangeSource, Cloneable {
SimulationConditions simulationConditions = options.toSimulationConditions();
simulationConditions.setSimulation(this);
for (SimulationListener l : additionalListeners) {
simulationConditions.getSimulationListenerList().add(l);
}
for (SimulationExtension extension : simulationExtensions) {
extension.initialize(simulationConditions);
}
for (SimulationListener l : additionalListeners) {
simulationConditions.getSimulationListenerList().add(l);
}
long t1, t2;
log.debug("Simulation: calling simulator");
t1 = System.currentTimeMillis();

View File

@ -25,6 +25,9 @@ import info.openrocket.core.unit.UnitGroup;
public class DampingMoment extends AbstractSimulationExtension {
private static final Logger log = LoggerFactory.getLogger(DampingMoment.class);
// Keep it internal until time to publish in the FlightDataBranch
private double Cdm = Double.NaN;
// Save it as a FlightDataType
private static final FlightDataType cdm = FlightDataType.getType("Damping moment coefficient", "Cdm",
UnitGroup.UNITS_COEFFICIENT);
@ -62,11 +65,16 @@ public class DampingMoment extends AbstractSimulationExtension {
throws SimulationException {
// status.getFlightDataBranch().setValue(cdm, aerodynamicPart + propulsivePart);
status.getFlightDataBranch().setValue(cdm, calculate(status, flightConditions));
Cdm = calculate(status, flightConditions);
return flightConditions;
}
@Override
public void postStep(SimulationStatus status) {
status.getFlightDataBranch().setValue(cdm, Cdm);
}
private double calculate(SimulationStatus status, FlightConditions flightConditions) {
// Work out the propulsive/jet damping part of the moment.