Problem Statement
The public surface of output.py (draw, animate, plot_results_versus_time, and log_results) covers loads, load coefficients, and three-dimensional visuals, but a free-flight simulation's primary quantitative result is the six-degree-of-freedom state history: position, attitude, velocity, and body rates versus time. No function plots or logs it. The glider example exposes the trajectory only as an animation, and a user wanting numbers must mine the attributes of solver.unsteady_problem.movement.operating_point_movement.operating_points[i] by hand, an access path no example demonstrates.
Location(s): pterasoftware/output.py, pterasoftware/problems.py (FreeFlightUnsteadyProblem), examples/free_flight_unsteady_ring_vortex_lattice_method_solver_glider.py.
Proposed Solution
Add a state-history output for free-flight solvers: a plotting function in output.py (for example, plot_state_versus_time) covering position, attitude, velocity, and body rates versus time, and/or a documented state-history accessor on FreeFlightUnsteadyProblem. Demonstrate the new path in the glider example so it is discoverable.
Problem Statement
The public surface of
output.py(draw,animate,plot_results_versus_time, andlog_results) covers loads, load coefficients, and three-dimensional visuals, but a free-flight simulation's primary quantitative result is the six-degree-of-freedom state history: position, attitude, velocity, and body rates versus time. No function plots or logs it. The glider example exposes the trajectory only as an animation, and a user wanting numbers must mine the attributes ofsolver.unsteady_problem.movement.operating_point_movement.operating_points[i]by hand, an access path no example demonstrates.Location(s):
pterasoftware/output.py,pterasoftware/problems.py(FreeFlightUnsteadyProblem),examples/free_flight_unsteady_ring_vortex_lattice_method_solver_glider.py.Proposed Solution
Add a state-history output for free-flight solvers: a plotting function in
output.py(for example,plot_state_versus_time) covering position, attitude, velocity, and body rates versus time, and/or a documented state-history accessor onFreeFlightUnsteadyProblem. Demonstrate the new path in the glider example so it is discoverable.