optimization updates
[debian/openrocket] / src / net / sf / openrocket / optimization / rocketoptimization / parameters / SimulationBasedParameter.java
index 807be9427710db82b165c12858ea9b16fdb8c75e..e814dd305d51e49e812e145b8e4121cc1aaa3130 100644 (file)
@@ -8,6 +8,7 @@ import net.sf.openrocket.optimization.general.OptimizationException;
 import net.sf.openrocket.optimization.rocketoptimization.OptimizableParameter;
 import net.sf.openrocket.simulation.FlightData;
 import net.sf.openrocket.simulation.exception.MotorIgnitionException;
+import net.sf.openrocket.simulation.exception.SimulationCalculationException;
 import net.sf.openrocket.simulation.exception.SimulationCancelledException;
 import net.sf.openrocket.simulation.exception.SimulationException;
 import net.sf.openrocket.simulation.exception.SimulationLaunchException;
@@ -44,6 +45,9 @@ public abstract class SimulationBasedParameter implements OptimizableParameter {
                } catch (SimulationLaunchException e) {
                        // Other launch exceptions result in illegal value
                        return Double.NaN;
+               } catch (SimulationCalculationException e) {
+                       // Calculation errors result in illegal value
+                       return Double.NaN;
                } catch (SimulationCancelledException e) {
                        // Simulation cancellation stops the optimization
                        throw (InterruptedException) new InterruptedException("Optimization was interrupted").initCause(e);