Skip to content

ENH: Monte Carlo Analysis Enhancements #269

@giovaniceotto

Description

@giovaniceotto

Everyone loves the fact that RocketPy can be quite easily wrapped to run Monte Carlo simulations to carry on dispersion analysis.

However, this experience quickly becomes hard as the analysis complexity increases. Usually, lack of a good stopping criteria combined with long simulation times are the main issues.

Therefore, the following requirements are specified to improve general Monte Carlo simulations with RocketPy.

Requirements

New features

Corrections:

  • 1. Create evolution plots to analyze simulation convergence
  • 2. Don't use built-in functions in new methods (words like "object", "getattr" and "type" are reserved)
  • 3. Make lat and lon optional arguments in the export_ellipses_to_kml function
  • 4. Review fixed/variable attributes: prevent timezone, number_of_grains, nose_kind to be varied
  • 5. Refactor the StochasticFlight.create_object to avoid unnecessary calls.
  • 6. Stop using assert in production code. Use exceptions instead.
  • 7. Refactor and simplify the StochasticModel.__init__() method
  • 8. Move the _validate_airfoil method to a child class

Proposed Milestone

v1.X (This means we will avoid breaking changes as much as possible)

Additional comments

Ref.1 -> There are certain quantities, e.g. wind speed, that the user might have a more accurate distribution (maybe built empirically) that does not fit Numpy's provided distributions. The user could provide a "sampler," i.e. a function that takes an integer sample_size as input and outputs that amount of samples according to his distribution.)

Metadata

Metadata

Assignees

Labels

EnhancementNew feature or request, including adjustments in current codesMonte CarloMonte Carlo and related contents

Projects

Status

HotFix

Relationships

None yet

Development

No branches or pull requests

Issue actions