Water Rocket#
Author: Bernardo Bahia Monteiro (bbahia@umich.edu)
In this example, we will optimize a water rocket for range and height at the apogee, using design variables that are easily modifiable just before launch: the empty mass, the initial water volume and the launch angle. This example builds on multi-phase cannonball ane is adapted from Optimization of a Water Rocket in OpenMDAO/Dymos [BM20].
Nomenclature#
Symbol |
definition |
---|---|
\(v_\text{out}\) |
water exit speed at the nozzle |
\(A_\text{out}\) |
nozzle area |
\(V_w\) |
water volume in the rocket |
\(p\) |
pressure in the rocket |
\(p_a\) |
ambient pressure |
\(\dot{\,}\) |
time derivative |
\(k\) |
polytropic constant |
\(V_b\) |
internal volume of the rocket |
\(\rho_w\) |
water density |
\(T\) |
thrust |
\(q\) |
dynamic pressure |
\(S\) |
cross sectional area |
\((\cdot)_0\) |
value of \((\cdot)\) at \(t=0\) |
\(t\) |
time |
Problem Formulation#
A natural objective function for a water rocket is the maximum height achieved by the rocket during flight, or the horizontal distance it travels, i.e. its range. The design of a water rocket is somewhat constrained by the soda bottle used as its engine. This means that the volume available for water and air is fixed, the initial launch pressure is limited by the bottle’s strength (since the pressure is directly related to the energy available for the rocket, it is easy to see that it should be as high as possible) and the nozzle throat area is also fixed. Given these manufacturing constraints, the design variables we are left with are the empty mass (it can be easily changed through adding ballast), the water volume at the launch, and the launch angle. With this considerations in mind, a natural formulation for the water rocket problem is
Model#
The water rocket model is divided into three basic components: a water engine, responsible for modelling the fluid dynamics inside the rocket and returning its thrust; the aerodynamics, responsible for calculating the atmospheric drag of the rocket; and the equations of motion, responsible for propagating the rocket’s trajectory in time, using Newton’s laws and the forces provided by the other two components.
In order to integrate these three basic components, some additional interfacing components are necessary: an atmospheric model to provide values of ambient pressure for the water engine and air density to the calculation of the dynamic pressure for the aerodynamic model, and a component that calculates the instantaneous mass of the rocket by summing the water mass with the rocket’s empty mass. The high level layout of this model is shown in below.
atmos
, dynamic_pressure
, aero
and eom
are the same models used in multi-phase cannonball.
The remaining components are discussed below.
Warning
The eom
component has a singularity in the flight path angle derivative when the flight speed is zero.
This happens because the rotational dynamics are not modelled.
This can cause convergence problems if the launch velocity is set to zero or the launch angle is set to \(90^\circ\)
Note
Since the range of altitudes achieved by the water rocket is very small (100m), the air density and pressure are practically constant, thus the use of an atmospheric model is not necessary. However, using it makes it easier to reuse code from multi-phase cannonball.
Water engine#
The water engine is modelled by assuming that the air expansion in the rocket follows an adiabatic process and the water flow is incompressible and inviscid, i.e. it follows Bernoulli’s equation. We also make the following simplifying assumptions:
The thrust developed after the water is depleted is negligible
The area inside the bottle is much smaller than the nozzle area
The inertial forces do not affect the fluid dynamics inside the bottle
This simplified modelling can be found in Prusa[@Prusa2000]. A more rigorous formulation, which drops all these simplifying assumptions can be found in Wheeler[@Wheeler2002], Gommes[@Gommes2010], and Barria-Perotti[@BarrioPerotti2010].
The first assumption leads to an underestimation of the rocket performance, since the air left in the bottle after it is out of water is known to generate appreciable thrust[@Thorncroft2009]. This simplified model, however, produces physically meaningful results.
There are two states in this dynamical model, the water volume in the rocket \(V_w\) and the gauge pressure inside the rocket \(p\). The constitutive equations and the N2 diagram showing the model organization are shown below.
Constitutive equations of the water engine model#
Component |
Equation |
---|---|
water_exhaust_speed |
\(v_\text{out} = \sqrt{2(p-p_a)/\rho_w}\) |
water_flow_rate |
\(\dot{V}_w = -v_\text{out} A_\text{out}\) |
pressure_rate |
\(\dot{p} = kp\frac{\dot{V_w}}{(V_b-V_w)}\) |
water_thrust |
\(T = (\rho_w v_\text{out})(v_\text{out}A_\text{out})\) |
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import openmdao.api as om
import dymos as dm
class WaterEngine(om.Group):
"""
Computes thrust and water flow for a water.
Simplifications:
- the pressure due to the water column in the non inertial frame (i.e.
under a+g acceleration) is insignificant compared to the air pressure
- the water does not have appreciable speed inside the bottle
"""
def initialize(self):
self.options.declare('num_nodes', types=int)
def setup(self):
nn = self.options['num_nodes']
self.add_subsystem(name='water_exhaust_speed',
subsys=_WaterExhaustSpeed(num_nodes=nn),
promotes=['p', 'p_a', 'rho_w'])
self.add_subsystem(name='water_flow_rate',
subsys=_WaterFlowRate(num_nodes=nn),
promotes=['A_out', 'Vdot'])
self.add_subsystem(name='pressure_rate',
subsys=_PressureRate(num_nodes=nn),
promotes=['p', 'k', 'V_b', 'V_w', 'Vdot', 'pdot'])
self.add_subsystem(name='water_thrust',
subsys=_WaterThrust(num_nodes=nn),
promotes=['rho_w', 'A_out', 'F'])
self.set_input_defaults('A_out', val=np.pi*13e-3**2/4*np.ones(nn))
self.set_input_defaults('p', val=6.5e5*np.ones(nn))
self.connect('water_exhaust_speed.v_out', 'water_flow_rate.v_out')
self.connect('water_exhaust_speed.v_out', 'water_thrust.v_out')
class _WaterExhaustSpeed(om.ExplicitComponent):
def initialize(self):
self.options.declare('num_nodes', types=int)
def setup(self):
nn = self.options['num_nodes']
self.add_input(name='rho_w', val=1e3*np.ones(nn), desc='water density', units='kg/m**3')
self.add_input(name='p', val=6.5e5*np.ones(nn), desc='air pressure', units='N/m**2') # 5.5bar = 80 psi
self.add_input(name='p_a', val=1.01e5*np.ones(nn), desc='air pressure', units='N/m**2')
self.add_output(name='v_out', shape=(nn,), desc='water exhaust speed', units='m/s')
ar = np.arange(nn)
self.declare_partials(of='*', wrt='*', rows=ar, cols=ar)
def compute(self, inputs, outputs):
p = inputs['p']
p_a = inputs['p_a']
rho_w = inputs['rho_w']
outputs['v_out'] = np.sqrt(2*(p-p_a)/rho_w)
def compute_partials(self, inputs, partials):
p = inputs['p']
p_a = inputs['p_a']
rho_w = inputs['rho_w']
v_out = np.sqrt(2*(p-p_a)/rho_w)
partials['v_out', 'p'] = 1/v_out/rho_w
partials['v_out', 'p_a'] = -1/v_out/rho_w
partials['v_out', 'rho_w'] = 1/v_out*(-(p-p_a)/rho_w**2)
class _PressureRate(om.ExplicitComponent):
def initialize(self):
self.options.declare('num_nodes', types=int)
def setup(self):
nn = self.options['num_nodes']
self.add_input(name='p', val=np.ones(nn), desc='air pressure', units='N/m**2')
self.add_input(name='k', val=1.4*np.ones(nn), desc='polytropic coefficient for expansion', units=None)
self.add_input(name='V_b', val=2e-3*np.ones(nn), desc='bottle volume', units='m**3')
self.add_input(name='V_w', val=1e-3*np.ones(nn), desc='water volume', units='m**3')
self.add_input(name='Vdot', shape=(nn,), desc='water flow', units='m**3/s')
self.add_output(name='pdot', shape=(nn,), desc='pressure derivative', units='N/m**2/s')
ar = np.arange(nn)
self.declare_partials(of='*', wrt='*', rows=ar, cols=ar)
def compute(self, inputs, outputs):
p = inputs['p']
k = inputs['k']
V_b = inputs['V_b']
V_w = inputs['V_w']
Vdot = inputs['Vdot']
pdot = p*k*Vdot/(V_b-V_w)
outputs['pdot'] = pdot
def compute_partials(self, inputs, partials):
p = inputs['p']
k = inputs['k']
V_b = inputs['V_b']
V_w = inputs['V_w']
Vdot = inputs['Vdot']
partials['pdot', 'p'] = k*Vdot/(V_b-V_w)
partials['pdot', 'k'] = p*Vdot/(V_b-V_w)
partials['pdot', 'V_b'] = -p*k*Vdot/(V_b-V_w)**2
partials['pdot', 'V_w'] = p*k*Vdot/(V_b-V_w)**2
partials['pdot', 'Vdot'] = p*k/(V_b-V_w)
class _WaterFlowRate(om.ExplicitComponent):
""" Computer water flow rate"""
def initialize(self):
self.options.declare('num_nodes', types=int)
def setup(self):
nn = self.options['num_nodes']
self.add_input(name='A_out', val=np.ones(nn), desc='nozzle outlet area', units='m**2')
self.add_input(name='v_out', val=np.zeros(nn), desc='water exhaust speed', units='m/s')
self.add_output(name='Vdot', shape=(nn,), desc='water flow', units='m**3/s')
ar = np.arange(nn)
self.declare_partials(of='*', wrt='*', rows=ar, cols=ar)
def compute(self, inputs, outputs):
A_out = inputs['A_out']
v_out = inputs['v_out']
outputs['Vdot'] = -v_out*A_out
def compute_partials(self, inputs, partials):
A_out = inputs['A_out']
v_out = inputs['v_out']
partials['Vdot', 'A_out'] = -v_out
partials['Vdot', 'v_out'] = -A_out
The _MassAdder
component calculates the rocket’s instantaneous mass by
summing the water mass with the rockets empty mass, i.e.
class _MassAdder(om.ExplicitComponent):
def initialize(self):
self.options.declare('num_nodes', types=int)
def setup(self):
nn = self.options['num_nodes']
self.add_input('m_empty', val=np.zeros(nn), desc='empty mass', units='kg')
self.add_input('V_w', val=1e-3*np.ones(nn), desc='water volume', units='m**3')
self.add_input('rho_w', val=1e3*np.ones(nn), desc="water density", units='kg/m**3')
self.add_output('m', val=np.zeros(nn), desc='total mass', units='kg')
ar = np.arange(nn)
self.declare_partials('*', '*', cols=ar, rows=ar)
def compute(self, inputs, outputs):
outputs['m'] = inputs['m_empty'] + inputs['rho_w']*inputs['V_w']
def compute_partials(self, inputs, jacobian):
jacobian['m', 'm_empty'] = 1
jacobian['m', 'rho_w'] = inputs['V_w']
jacobian['m', 'V_w'] = inputs['rho_w']
Now these components are joined in a single group
display_source('dymos.examples.water_rocket.water_propulsion_ode.WaterPropulsionODE')
class WaterPropulsionODE(om.Group):
def initialize(self):
self.options.declare('num_nodes', types=int)
self.options.declare('ballistic', types=bool, default=False,
desc='If True, neglect propulsion system.')
def setup(self):
nn = self.options['num_nodes']
self.add_subsystem(name='atmos',
subsys=USatm1976Comp(num_nodes=nn))
if not self.options['ballistic']:
self.add_subsystem(name='water_engine',
subsys=WaterEngine(num_nodes=nn),
promotes_inputs=['rho_w'])
self.add_subsystem(name='mass_adder',
subsys=_MassAdder(num_nodes=nn),
promotes_inputs=['rho_w'])
self.add_subsystem(name='dynamic_pressure',
subsys=DynamicPressureComp(num_nodes=nn))
self.add_subsystem(name='aero',
subsys=LiftDragForceComp(num_nodes=nn))
self.add_subsystem(name='eom',
subsys=FlightPathEOM2D(num_nodes=nn))
self.connect('atmos.rho', 'dynamic_pressure.rho')
self.connect('dynamic_pressure.q', 'aero.q')
self.connect('aero.f_drag', 'eom.D')
self.connect('aero.f_lift', 'eom.L')
if not self.options['ballistic']:
self.connect('atmos.pres', 'water_engine.p_a')
self.connect('water_engine.F', 'eom.T')
self.connect('mass_adder.m', 'eom.m')
Phases#
The flight of the water rocket is split in three distinct phases: propelled ascent, ballistic ascent and ballistic descent. If the simplification of no thrust without water were lifted, there would be an extra “air propelled ascent” phase between the propelled ascent and ballistic ascent phases.
Propelled ascent: is the flight phase where the rocket still has water inside, and hence it is producing thrust. The thrust is given by the water engine model, and fed into the flight dynamic equations. It starts at launch and finishes when the water is depleted, i.e. \(V_w=0\).
Ballistic ascent: is the flight phase where the rocket is ascending (\(\gamma>0\)) but produces no thrust. This phase begins at the end of thepropelled ascent phase and ends at the apogee, defined by \(\gamma=0\).
Descent: is the phase where the rocket is descending without thrust. It begins at the end of the ballistic ascent phase and ends with ground impact, i.e. \(h=0\).
def new_propelled_ascent_phase(transcription):
propelled_ascent = dm.Phase(ode_class=WaterPropulsionODE,
transcription=transcription)
# All initial states except flight path angle and water volume are fixed
# Final flight path angle is fixed (we will set it to zero so that the phase ends at apogee)
# Final water volume is fixed (we will set it to zero so that phase ends when bottle empties)
propelled_ascent.set_time_options(
fix_initial=True, duration_bounds=(0.001, 0.5), duration_ref=0.1, units='s')
propelled_ascent.add_state('r', units='m', rate_source='eom.r_dot',
fix_initial=True, fix_final=False, ref=100.0, defect_ref=100.0)
propelled_ascent.add_state('h', units='m', rate_source='eom.h_dot', targets=['atmos.h'],
fix_initial=True, fix_final=False, ref=10.0, defect_ref=10.0)
propelled_ascent.add_state('gam', units='deg', rate_source='eom.gam_dot', targets=['eom.gam'],
fix_initial=False, fix_final=False, lower=0, upper=85.0, ref=90)
propelled_ascent.add_state('v', units='m/s', rate_source='eom.v_dot', targets=['dynamic_pressure.v', 'eom.v'],
fix_initial=True, fix_final=False, ref=100, defect_ref=100, lower=0.01)
propelled_ascent.add_state('p', units='bar', rate_source='water_engine.pdot',
targets=['water_engine.p'], fix_initial=True, fix_final=False,
lower=1.02)
propelled_ascent.add_state('V_w', units='L', rate_source='water_engine.Vdot',
targets=['water_engine.V_w', 'mass_adder.V_w'],
fix_initial=False, fix_final=True, ref=10., defect_ref=0.1,
lower=0)
propelled_ascent.add_parameter(
'S', targets=['aero.S'], units='m**2')
propelled_ascent.add_parameter(
'm_empty', targets=['mass_adder.m_empty'], units='kg')
propelled_ascent.add_parameter(
'V_b', targets=['water_engine.V_b'], units='m**3')
propelled_ascent.add_timeseries_output('water_engine.F', 'T', units='N')
return propelled_ascent
def new_ballistic_ascent_phase(transcription):
ballistic_ascent = dm.Phase(ode_class=WaterPropulsionODE, transcription=transcription,
ode_init_kwargs={'ballistic': True})
# All initial states are free (they will be linked to the final stages of propelled_ascent).
# Final flight path angle is fixed (we will set it to zero so that the phase ends at apogee)
ballistic_ascent.set_time_options(
fix_initial=False, initial_bounds=(0.001, 1), duration_bounds=(0.001, 10),
duration_ref=1, units='s')
ballistic_ascent.add_state('r', units='m', rate_source='eom.r_dot', fix_initial=False,
fix_final=False, ref=1.0, defect_ref=1.0)
ballistic_ascent.add_state('h', units='m', rate_source='eom.h_dot', targets=['atmos.h'],
fix_initial=False, fix_final=False, ref=1.0)
ballistic_ascent.add_state('gam', units='deg', rate_source='eom.gam_dot', targets=['eom.gam'],
fix_initial=False, fix_final=True, upper=89, ref=90)
ballistic_ascent.add_state('v', units='m/s', rate_source='eom.v_dot',
targets=['dynamic_pressure.v', 'eom.v'], fix_initial=False,
fix_final=False, ref=1.)
ballistic_ascent.add_parameter('S', targets=['aero.S'], units='m**2')
ballistic_ascent.add_parameter('m_empty', targets=['eom.m'], units='kg')
return ballistic_ascent
def new_descent_phase(transcription):
descent = dm.Phase(ode_class=WaterPropulsionODE, transcription=transcription,
ode_init_kwargs={'ballistic': True})
# All initial states and time are free (they will be linked to the final states of ballistic_ascent).
# Final altitude is fixed (we will set it to zero so that the phase ends at ground impact)
descent.set_time_options(initial_bounds=(.5, 100), duration_bounds=(.5, 100),
duration_ref=10, units='s')
descent.add_state('r', units='m', rate_source='eom.r_dot', fix_initial=False, fix_final=False)
descent.add_state('h', units='m', rate_source='eom.h_dot', targets=['atmos.h'],
fix_initial=False, fix_final=True)
descent.add_state('gam', units='deg', rate_source='eom.gam_dot', targets=['eom.gam'],
fix_initial=False, fix_final=False)
descent.add_state('v', units='m/s', rate_source='eom.v_dot',
targets=['dynamic_pressure.v', 'eom.v'],
fix_initial=False, fix_final=False,
ref=1)
descent.add_parameter('S', targets=['aero.S'], units='m**2')
descent.add_parameter('mass', targets=['eom.m'], units='kg')
return descent
Model parameters#
The model requires a few constant parameters. The values used are shown in the following table.
Values for parameters in the water rocket model
Parameter |
Value |
Unit |
Reference |
---|---|---|---|
\(C_D\) |
0.3450 |
- |
|
\(S\) |
\(\pi 106^2/4\) |
\(mm^2\) |
|
\(k\) |
1.2 |
- |
|
\(A_\text{out}\) |
\(\pi22^2/4\) |
\(mm^2\) |
[air13] |
\(V_b\) |
2 |
L |
|
\(\rho_w\) |
1000 |
\(kg/m^3\) |
|
\(p_0\) |
6.5 |
bar |
|
\(v_0\) |
0.1 |
\(m/s\) |
|
\(h_0\) |
0 |
\(m\) |
|
\(r_0\) |
0 |
\(m\) |
Values for the bottle volume \(V_b\), its cross-sectional area \(S\) and the nozzle area \(A_\text{out}\) are determined by the soda bottle that makes the rocket primary structure, and thus are not easily modifiable by the designer. The polytropic coefficient \(k\) is a function of the moist air characteristics inside the rocket. The initial speed \(v_0\) must be set to a value higher than zero, otherwise the flight dynamic equations become singular. This issue arises from the angular dynamics of the rocket not being modelled. The drag coefficient \(C_D\) is sensitive to the aerodynamic design, but can be optimized by a single discipline analysis. The initial pressure \(p_0\) should be maximized in order to obtain the maximum range or height for the rocket. It is limited by the structural properties of the bottle, which are modifiable by the designer, since the bottle needs to be available commercially. Finally, the starting point of the rocket is set to the origin.
Putting it all together#
The different phases must be combined in a single trajectory, and linked in a sequence. Here we also define the design variables.
display_source('dymos.examples.water_rocket.phases.new_water_rocket_trajectory')
def new_water_rocket_trajectory(objective):
tx_prop = dm.Radau(num_segments=20, order=3, compressed=True)
tx_bal = dm.Radau(num_segments=10, order=3, compressed=True)
tx_desc = dm.Radau(num_segments=10, order=3, compressed=True)
traj = dm.Trajectory()
# Add phases to trajectory
propelled_ascent = traj.add_phase('propelled_ascent', new_propelled_ascent_phase(tx_prop))
ballistic_ascent = traj.add_phase('ballistic_ascent', new_ballistic_ascent_phase(tx_bal))
descent = traj.add_phase('descent', new_descent_phase(tx_desc))
# Link phases
traj.link_phases(phases=['propelled_ascent', 'ballistic_ascent'], vars=['*'])
traj.link_phases(phases=['ballistic_ascent', 'descent'], vars=['*'])
# Set objective function
if objective == 'height':
ballistic_ascent.add_objective('h', loc='final', ref=-1.0)
elif objective == 'range':
descent.add_objective('r', loc='final', ref=-1.0)
else:
raise ValueError(f"objective='{objective}' is not defined. Try using 'height' or 'range'")
# Add design parameters to the trajectory.
traj.add_parameter('CD',
targets={'propelled_ascent': ['aero.CD'],
'ballistic_ascent': ['aero.CD'],
'descent': ['aero.CD']},
val=0.3450, units=None, opt=False)
traj.add_parameter('CL',
targets={'propelled_ascent': ['aero.CL'],
'ballistic_ascent': ['aero.CL'],
'descent': ['aero.CL']},
val=0.0, units=None, opt=False)
traj.add_parameter('T',
targets={'ballistic_ascent': ['eom.T'],
'descent': ['eom.T']},
val=0.0, units='N', opt=False)
traj.add_parameter('alpha',
targets={'propelled_ascent': ['eom.alpha'],
'ballistic_ascent': ['eom.alpha'],
'descent': ['eom.alpha']},
val=0.0, units='deg', opt=False)
traj.add_parameter('m_empty', units='kg', val=0.15,
targets={'propelled_ascent': 'm_empty',
'ballistic_ascent': 'm_empty',
'descent': 'mass'},
lower=0.001, upper=1, ref=0.1,
opt=False)
traj.add_parameter('V_b', units='m**3', val=2e-3,
targets={'propelled_ascent': 'V_b'},
opt=False)
traj.add_parameter('S', units='m**2', val=np.pi*106e-3**2/4, opt=False)
traj.add_parameter('A_out', units='m**2', val=np.pi*22e-3**2/4.,
targets={'propelled_ascent': ['water_engine.A_out']},
opt=False)
traj.add_parameter('k', units=None, val=1.2, opt=False,
targets={'propelled_ascent': ['water_engine.k']})
# Make parameter m_empty a design variable
traj.set_parameter_options('m_empty', opt=True)
return traj, {'propelled_ascent': propelled_ascent,
'ballistic_ascent': ballistic_ascent,
'descent': descent}
Helper Functions to Access the Results#
from collections import namedtuple
def summarize_results(water_rocket_problem):
p = water_rocket_problem
Entry = namedtuple('Entry', 'value unit')
summary = {
'Launch angle': Entry(p.get_val('traj.propelled_ascent.timeseries.gam', units='deg')[0, 0], 'deg'),
'Flight angle at end of propulsion': Entry(p.get_val('traj.propelled_ascent.timeseries.gam',
units='deg')[-1, 0], 'deg'),
'Empty mass': Entry(p.get_val('traj.parameters:m_empty', units='kg')[0], 'kg'),
'Water volume': Entry(p.get_val('traj.propelled_ascent.timeseries.V_w', 'L')[0, 0], 'L'),
'Maximum range': Entry(p.get_val('traj.descent.timeseries.r', units='m')[-1, 0], 'm'),
'Maximum height': Entry(p.get_val('traj.ballistic_ascent.timeseries.h', units='m')[-1, 0], 'm'),
'Maximum velocity': Entry(p.get_val('traj.propelled_ascent.timeseries.v', units='m/s')[-1, 0], 'm/s'),
}
return summary
colors={'pa': 'tab:blue', 'ba': 'tab:orange', 'd': 'tab:green'}
def plot_propelled_ascent(p, exp_out):
fig, ax = plt.subplots(2, 2, sharex=True, figsize=(12, 6))
t_imp = p.get_val('traj.propelled_ascent.timeseries.time', 's')
t_exp = exp_out.get_val('traj.propelled_ascent.timeseries.time', 's')
c = colors['pa']
ax[0,0].plot(t_imp, p.get_val('traj.propelled_ascent.timeseries.p', 'bar'), '.', color=c)
ax[0,0].plot(t_exp, exp_out.get_val('traj.propelled_ascent.timeseries.p', 'bar'), '-', color=c)
ax[0,0].set_ylabel('p (bar)')
ax[0,0].set_ylim(bottom=0)
ax[1,0].plot(t_imp, p.get_val('traj.propelled_ascent.timeseries.V_w', 'L'), '.', color=c)
ax[1,0].plot(t_exp, exp_out.get_val('traj.propelled_ascent.timeseries.V_w', 'L'), '-', color=c)
ax[1,0].set_ylabel('$V_w$ (L)')
ax[0,1].plot(t_imp, p.get_val('traj.propelled_ascent.timeseries.T', 'N'), '.', color=c)
ax[0,1].plot(t_exp, exp_out.get_val('traj.propelled_ascent.timeseries.T', 'N'), '-', color=c)
ax[0,1].set_ylabel('T (N)')
ax[0,1].set_ylim(bottom=0)
ax[1,1].plot(t_imp, p.get_val('traj.propelled_ascent.timeseries.v', 'm/s'), '.', color=c)
ax[1,1].plot(t_exp, exp_out.get_val('traj.propelled_ascent.timeseries.v', 'm/s'), '-', color=c)
ax[1,1].set_ylabel('v (m/s)')
ax[1,1].set_ylim(bottom=0)
ax[1,0].set_xlabel('t (s)')
ax[1,1].set_xlabel('t (s)')
for i in range(4):
ax.ravel()[i].grid(True, alpha=0.2)
fig.tight_layout()
def plot_states(p, exp_out, legend_loc='right', legend_ncol=3):
fig, axes = plt.subplots(nrows=2, ncols=2, figsize=(12, 4), sharex=True)
states = ['r', 'h', 'v', 'gam']
units = ['m', 'm', 'm/s', 'deg']
phases = ['propelled_ascent', 'ballistic_ascent', 'descent']
time_imp = {'ballistic_ascent': p.get_val('traj.ballistic_ascent.timeseries.time'),
'propelled_ascent': p.get_val('traj.propelled_ascent.timeseries.time'),
'descent': p.get_val('traj.descent.timeseries.time')}
time_exp = {'ballistic_ascent': exp_out.get_val('traj.ballistic_ascent.timeseries.time'),
'propelled_ascent': exp_out.get_val('traj.propelled_ascent.timeseries.time'),
'descent': exp_out.get_val('traj.descent.timeseries.time')}
x_imp = {phase: {state: p.get_val(f"traj.{phase}.timeseries.{state}", unit)
for state, unit in zip(states, units)
}
for phase in phases
}
x_exp = {phase: {state: exp_out.get_val(f"traj.{phase}.timeseries.{state}", unit)
for state, unit in zip(states, units)
}
for phase in phases
}
for i, (state, unit) in enumerate(zip(states, units)):
axes.ravel()[i].set_ylabel(f"{state} ({unit})" if state != 'gam' else f'$\gamma$ ({unit})')
axes.ravel()[i].plot(time_imp['propelled_ascent'], x_imp['propelled_ascent'][state], '.', color=colors['pa'])
axes.ravel()[i].plot(time_imp['ballistic_ascent'], x_imp['ballistic_ascent'][state], '.', color=colors['ba'])
axes.ravel()[i].plot(time_imp['descent'], x_imp['descent'][state], '.', color=colors['d'])
h1, = axes.ravel()[i].plot(time_exp['propelled_ascent'], x_exp['propelled_ascent'][state], '-', color=colors['pa'], label='Propelled Ascent')
h2, = axes.ravel()[i].plot(time_exp['ballistic_ascent'], x_exp['ballistic_ascent'][state], '-', color=colors['ba'], label='Ballistic Ascent')
h3, = axes.ravel()[i].plot(time_exp['descent'], x_exp['descent'][state], '-', color=colors['d'], label='Descent')
if state == 'gam':
axes.ravel()[i].yaxis.set_major_locator(mpl.ticker.MaxNLocator(nbins='auto', steps=[1, 1.5, 3, 4.5, 6, 9, 10]))
axes.ravel()[i].set_yticks(np.arange(-90, 91, 45))
axes.ravel()[i].grid(True, alpha=0.2)
axes[1, 0].set_xlabel('t (s)')
axes[1, 1].set_xlabel('t (s)')
plt.figlegend(handles=[h1, h2, h3], loc=legend_loc, ncol=legend_ncol)
fig.tight_layout()
<>:29: SyntaxWarning: invalid escape sequence '\g'
<>:29: SyntaxWarning: invalid escape sequence '\g'
/tmp/ipykernel_4245/850823774.py:29: SyntaxWarning: invalid escape sequence '\g'
axes.ravel()[i].set_ylabel(f"{state} ({unit})" if state != 'gam' else f'$\gamma$ ({unit})')
def plot_trajectory(p, exp_out, legend_loc='center right'):
fig, axes = plt.subplots(nrows=1, ncols=1, figsize=(8, 6))
r_imp = {'ballistic_ascent': p.get_val('traj.ballistic_ascent.timeseries.r'),
'propelled_ascent': p.get_val('traj.propelled_ascent.timeseries.r'),
'descent': p.get_val('traj.descent.timeseries.r')}
r_exp = {'ballistic_ascent': exp_out.get_val('traj.ballistic_ascent.timeseries.r'),
'propelled_ascent': exp_out.get_val('traj.propelled_ascent.timeseries.r'),
'descent': exp_out.get_val('traj.descent.timeseries.r')}
h_imp = {'ballistic_ascent': p.get_val('traj.ballistic_ascent.timeseries.h'),
'propelled_ascent': p.get_val('traj.propelled_ascent.timeseries.h'),
'descent': p.get_val('traj.descent.timeseries.h')}
h_exp = {'ballistic_ascent': exp_out.get_val('traj.ballistic_ascent.timeseries.h'),
'propelled_ascent': exp_out.get_val('traj.propelled_ascent.timeseries.h'),
'descent': exp_out.get_val('traj.descent.timeseries.h')}
axes.plot(r_imp['propelled_ascent'], h_imp['propelled_ascent'], 'o', color=colors['pa'])
axes.plot(r_imp['ballistic_ascent'], h_imp['ballistic_ascent'], 'o', color=colors['ba'])
axes.plot(r_imp['descent'], h_imp['descent'], 'o', color=colors['d'])
h1, = axes.plot(r_exp['propelled_ascent'], h_exp['propelled_ascent'], '-', color=colors['pa'], label='Propelled Ascent')
h2, = axes.plot(r_exp['ballistic_ascent'], h_exp['ballistic_ascent'], '-', color=colors['ba'], label='Ballistic Ascent')
h3, = axes.plot(r_exp['descent'], h_exp['descent'], '-', color=colors['d'], label='Descent')
axes.set_xlabel('r (m)')
axes.set_ylabel('h (m)')
axes.set_aspect('equal', 'box')
plt.figlegend(handles=[h1, h2, h3], loc=legend_loc)
axes.grid(alpha=0.2)
fig.tight_layout()
Optimizing for Height#
from dymos.examples.water_rocket.phases import new_water_rocket_trajectory, set_sane_initial_guesses
p = om.Problem(model=om.Group())
traj, phases = new_water_rocket_trajectory(objective='height')
traj = p.model.add_subsystem('traj', traj)
p.driver = om.pyOptSparseDriver(optimizer='IPOPT', print_results=False)
p.driver.opt_settings['print_level'] = 5
p.driver.opt_settings['max_iter'] = 1000
p.driver.opt_settings['mu_strategy'] = 'adaptive'
p.driver.opt_settings['nlp_scaling_method'] = 'gradient-based' # for faster convergence
p.driver.opt_settings['alpha_for_y'] = 'safer-min-dual-infeas'
p.driver.declare_coloring(tol=1.0E-12)
# Finish Problem Setup
p.model.linear_solver = om.DirectSolver()
p.setup()
set_sane_initial_guesses(phases)
dm.run_problem(p, run_driver=True, simulate=True)
summary = summarize_results(p)
for key, entry in summary.items():
print(f'{key}: {entry.value:6.4f} {entry.unit}')
sol_out = om.CaseReader(p.get_outputs_dir() / 'dymos_solution.db').get_case('final')
sim_out = om.CaseReader(traj.sim_prob.get_outputs_dir() / 'dymos_simulation.db').get_case('final')
'rhs_checking' is disabled for 'DirectSolver in <model> <class Group>' but that solver has redundant adjoint solves. If it is expensive to compute derivatives for this solver, turning on 'rhs_checking' may improve performance.
Jacobian shape: (611, 613) (1.23% nonzero)
FWD solves: 20 REV solves: 0
Total colors vs. total size: 20 vs 613 (96.74% improvement)
Sparsity computed using tolerance: 1e-12.
Dense total jacobian for Problem 'problem' was computed 3 times.
Time to compute sparsity: 0.5023 sec
Time to compute coloring: 0.7473 sec
Memory to compute coloring: -2.2344 MB
Coloring created on: 2025-07-16 18:57:14
List of user-set options:
Name Value used
alpha_for_y = safer-min-dual-infeas yes
file_print_level = 5 yes
hessian_approximation = limited-memory yes
linear_solver = mumps yes
max_iter = 1000 yes
mu_strategy = adaptive yes
nlp_scaling_method = gradient-based yes
output_file = /home/runner/work/dymos/dymos/docs/dymos_book/examples/water_rocket/problem_out/IPOPT.out yes
print_level = 5 yes
print_user_options = yes yes
sb = yes yes
This is Ipopt version 3.14.17, running with linear solver MUMPS 5.7.3.
Number of nonzeros in equality constraint Jacobian...: 103007
Number of nonzeros in inequality constraint Jacobian.: 0
Number of nonzeros in Lagrangian Hessian.............: 0
Total number of variables............................: 613
variables with only lower bounds: 180
variables with lower and upper bounds: 67
variables with only upper bounds: 30
Total number of equality constraints.................: 610
Total number of inequality constraints...............: 0
inequality constraints with only lower bounds: 0
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 0
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 -1.0000000e+02 9.00e+01 4.22e-01 0.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 -7.0820124e+01 2.49e+01 4.15e+03 -5.8 4.98e+01 - 1.84e-01 7.23e-01h 1
2 -4.4787630e+01 8.88e+00 6.71e+04 0.6 4.13e+01 - 1.00e+00 9.82e-01h 1
3 -4.9302111e+01 7.38e+01 2.80e+06 1.6 6.63e+01 - 1.00e+00 3.21e-01f 1
4 -3.9326926e+01 4.90e+01 3.99e+05 1.9 3.77e+01 - 3.43e-01 1.00e+00h 1
5 -3.2035130e+01 3.01e+01 9.92e+04 1.9 1.77e+01 - 3.95e-01 1.00e+00f 1
6 -2.9180468e+01 2.35e+01 1.84e+04 1.9 1.71e+01 - 9.02e-01 1.00e+00f 1
7 -2.7622916e+01 3.67e+00 2.00e+04 1.9 3.93e+01 - 3.16e-01 1.00e+00f 1
8 -2.7696393e+01 2.36e+01 1.23e+04 1.4 4.58e+01 - 9.99e-01 1.00e+00h 1
9 -2.7003630e+01 1.31e+00 1.97e+03 0.4 1.00e+01 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
10 -2.7332373e+01 1.07e-01 3.06e+02 -0.6 1.88e+00 - 1.00e+00 1.00e+00h 1
11 -3.0084122e+01 2.12e-02 2.34e+02 -1.7 2.75e+00 - 1.00e+00 1.00e+00f 1
12 -3.3530125e+01 3.18e-02 2.73e+02 -2.7 3.45e+00 - 1.00e+00 1.00e+00f 1
13 -3.7138105e+01 5.50e-02 2.99e+02 -3.7 3.61e+00 - 1.00e+00 1.00e+00f 1
14 -3.7191722e+01 4.35e-03 4.19e+00 -4.9 1.38e-01 - 1.00e+00 1.00e+00h 1
15 -3.7653940e+01 6.04e-03 1.38e+00 -6.4 6.84e-01 - 1.00e+00 1.00e+00f 1
16 -4.0149550e+01 6.57e-02 2.12e+00 -7.5 2.50e+00 -2.0 1.00e+00 1.00e+00f 1
17 -6.4795521e+01 3.83e+00 1.46e+01 -5.5 8.58e+01 - 1.00e+00 2.87e-01f 1
18 -5.7291126e+01 3.44e+00 1.02e+01 -5.7 5.87e+01 - 1.00e+00 5.32e-01h 1
19 -5.7289070e+01 3.43e+00 1.02e+01 -5.2 4.51e+01 - 1.00e+00 5.52e-04h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
20 -5.6677582e+01 3.18e+00 4.52e+00 -11.0 2.77e+01 - 6.82e-01 1.09e-01h 1
21 -5.3580006e+01 8.14e+00 1.93e+02 -11.0 2.30e+01 - 4.56e-02 1.00e+00H 1
22 -5.3579920e+01 8.14e+00 2.67e+00 -3.7 2.67e+00 - 1.00e+00 1.65e-04h 1
23 -5.2549642e+01 1.46e-01 2.21e+02 -4.2 1.93e+00 - 1.00e+00 1.00e+00h 1
24 -5.3014530e+01 9.27e-03 9.42e+01 -10.2 1.03e+00 - 8.25e-01 1.00e+00h 1
25 -5.3156474e+01 1.31e-03 2.56e+01 -2.9 2.17e-01 - 4.86e-01 1.00e+00f 1
26 -5.3184882e+01 9.43e-04 2.99e+00 -4.9 1.01e-01 - 1.00e+00 2.81e-01h 1
27 -5.3214864e+01 2.25e-04 3.00e-02 -5.1 3.00e-02 - 1.00e+00 1.00e+00h 1
28 -5.3237897e+01 1.51e-04 2.41e-02 -5.6 2.32e-02 - 1.00e+00 9.93e-01h 1
29 -7.5769111e+01 2.81e+01 9.30e+01 -4.8 1.51e+02 - 6.37e-01 3.41e-01f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
30 -1.0861279e+01 8.59e+00 1.14e+02 -7.0 9.16e+01 - 4.93e-01 7.08e-01h 1
31 -1.0775111e+01 8.55e+00 1.14e+02 -5.4 2.83e+01 - 6.67e-03 4.45e-03h 1
32 -1.0794756e+01 5.87e+00 8.92e+01 -5.4 2.14e+01 - 2.96e-02 3.50e-01f 1
33 -1.0729049e+01 4.99e+00 9.63e+01 -5.4 1.42e+01 - 6.60e-07 1.50e-01h 1
34 -2.4955568e+01 2.03e+00 9.14e+01 -5.4 3.89e+01 - 2.38e-01 3.66e-01f 1
35 -2.9044168e+01 4.00e+00 1.06e+02 -5.4 5.34e+01 - 1.84e-06 1.52e-01f 1
36 -3.1153402e+01 4.04e+00 6.83e+01 -5.4 5.18e+01 - 6.38e-01 5.62e-02f 1
37 -3.1053505e+01 4.00e+00 6.72e+01 -5.4 1.73e+01 - 4.67e-02 9.42e-03h 1
38r-3.1053505e+01 4.00e+00 9.99e+02 0.6 0.00e+00 - 0.00e+00 3.62e-08R 2
39r-3.1053656e+01 1.23e+00 9.99e+02 -1.6 3.18e+03 - 8.01e-05 1.25e-03f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
40 -2.9886107e+01 1.10e+00 5.62e+00 -5.4 1.07e+01 - 3.30e-02 1.09e-01h 1
41 -2.9868348e+01 1.10e+00 5.68e+00 -5.4 9.37e+01 - 4.98e-06 9.96e-04h 1
42 -2.9519573e+01 1.08e+00 7.80e+00 -5.4 9.73e+01 - 2.66e-01 2.05e-02h 1
43r-2.9519573e+01 1.08e+00 1.00e+03 0.0 0.00e+00 - 0.00e+00 2.41e-07R 2
44r-2.9508681e+01 7.39e-01 9.98e+02 -2.2 7.30e+02 - 6.12e-05 1.46e-03f 1
45r-2.9508681e+01 7.39e-01 9.99e+02 -0.1 0.00e+00 - 0.00e+00 3.10e-07R 6
46r-2.9479087e+01 5.61e-01 9.93e+02 0.7 3.11e+02 - 6.27e-03 2.73e-03f 1
47 -2.9259269e+01 4.27e-01 1.15e+01 -5.4 1.10e+01 - 1.08e-01 2.62e-01h 1
48r-2.9259269e+01 4.27e-01 9.99e+02 -0.4 0.00e+00 - 0.00e+00 2.92e-07R 4
49r-2.9259269e+01 4.27e-01 9.82e+02 -6.3 3.26e+02 - 1.71e-02 4.80e-08f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
50r-2.9341383e+01 2.41e-01 9.67e+02 0.6 4.04e+02 - 2.63e-02 2.29e-03f 1
51 -2.9335993e+01 2.34e-01 3.80e+01 -5.4 4.74e+00 - 2.99e-01 3.05e-02h 1
52 -2.9341911e+01 2.30e-01 4.21e+01 -5.4 4.72e+00 - 1.06e-01 1.57e-02h 1
53 -2.9705430e+01 3.84e+00 1.43e+03 -5.4 9.86e+00 - 1.62e-01 9.04e-01h 1
54 -2.9571105e+01 3.77e+00 1.39e+03 -5.4 3.05e+01 - 1.00e-04 2.10e-02h 5
55 -3.1693336e+01 4.46e-01 7.76e+02 -5.4 2.85e+00 - 1.68e-03 1.00e+00h 1
56 -3.4232885e+01 7.41e-01 3.73e+02 -5.4 3.44e+00 - 4.83e-01 1.00e+00h 1
57 -3.4081356e+01 7.15e-02 1.58e+02 -5.4 1.70e+00 - 5.82e-01 1.00e+00h 1
58 -3.4271258e+01 4.15e-03 2.89e+01 -5.4 4.60e-01 - 3.03e-04 1.00e+00h 1
59 -3.4793530e+01 5.20e-03 2.64e+01 -5.4 2.39e+02 - 8.81e-02 2.18e-03f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
60 -6.0278068e+01 1.48e+00 1.05e+01 -5.4 1.74e+02 - 1.10e-01 1.47e-01f 1
61 -4.8509506e+01 1.73e+02 5.60e+03 0.1 1.76e+04 - 2.79e-04 6.70e-04f 1
62 -4.8634745e+01 1.17e+02 1.54e+03 -1.6 1.97e+00 - 3.07e-01 4.46e-01h 1
63 -4.8634497e+01 1.13e+02 1.77e+02 -1.6 3.38e+00 - 1.00e+00 4.02e-02h 1
64 -4.8582705e+01 4.57e+01 3.02e+03 -1.6 3.14e+00 - 1.00e+00 1.00e+00h 1
65 -4.8516247e+01 2.88e+01 6.89e+02 -1.6 2.80e+00 - 1.00e+00 6.13e-01h 1
66 -4.8724594e+01 1.77e+01 1.22e+02 -1.6 2.18e+00 - 1.00e+00 1.00e+00h 1
67 -4.9897534e+01 1.04e+01 4.26e+01 -1.6 3.56e+00 - 2.12e-01 1.00e+00h 1
68 -5.4897042e+01 3.36e+00 1.46e+01 -1.6 5.00e+00 -2.5 6.82e-01 1.00e+00h 1
69 -7.3716289e+01 4.10e+00 1.77e+02 -1.6 1.88e+01 - 9.38e-01 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
70 -6.4133539e+01 1.12e+00 3.51e+02 -1.3 9.58e+00 - 1.00e+00 1.00e+00h 1
71 -5.4695568e+01 6.11e-01 1.29e+02 -2.1 1.27e+01 - 2.95e-01 1.00e+00H 1
72 -5.5993090e+01 5.92e-02 7.31e+01 -1.8 3.39e+00 - 1.00e+00 1.00e+00h 1
73 -5.2706617e+01 6.09e-02 6.58e+01 -7.9 3.29e+00 - 2.97e-01 1.00e+00h 1
74 -5.4690403e+01 1.05e+01 7.76e+02 -2.1 1.35e+01 - 3.37e-01 1.00e+00f 1
75 -6.9517992e+01 8.90e+00 2.69e+02 -2.1 1.48e+01 - 1.00e+00 1.00e+00f 1
76 -6.4420727e+01 1.63e+00 5.97e+02 -2.1 5.17e+00 - 1.00e+00 1.00e+00h 1
77 -5.3012160e+01 2.60e-01 5.00e+01 -2.8 1.14e+01 - 1.00e+00 1.00e+00h 1
78 -5.2158084e+01 1.24e-01 9.28e+01 -2.9 3.24e+00 -2.1 1.00e+00 1.00e+00h 1
79 -5.2537480e+01 5.56e-03 2.14e+01 -2.9 3.79e-01 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
80 -5.2828835e+01 1.03e-02 4.71e+00 -2.9 2.91e-01 - 1.00e+00 1.00e+00h 1
81 -5.3248192e+01 1.57e-03 5.27e+00 -2.9 4.19e-01 - 1.00e+00 1.00e+00f 1
82 -5.3350997e+01 1.14e-01 4.09e-01 -4.4 2.12e+00 - 1.00e+00 7.31e-01h 1
83 -5.3428347e+01 5.07e-03 7.40e+00 -3.4 5.08e-01 - 1.00e+00 1.00e+00h 1
84 -5.3266136e+01 3.25e-03 5.57e-01 -4.3 4.64e-01 - 1.00e+00 9.51e-01h 1
85 -5.3400298e+01 2.90e-04 3.28e-01 -6.0 1.34e-01 - 1.00e+00 1.00e+00h 1
86 -5.3382573e+01 1.77e-04 3.62e-02 -7.9 1.77e-02 - 1.00e+00 1.00e+00h 1
87 -5.3391343e+01 8.08e-05 2.23e-03 -9.5 8.77e-03 - 1.00e+00 1.00e+00h 1
88 -5.3387327e+01 9.15e-06 2.83e-03 -11.0 4.02e-03 -2.5 1.00e+00 1.00e+00h 1
89 -5.3387868e+01 1.19e-05 1.27e-02 -11.0 1.41e-03 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
90 -5.3388406e+01 1.03e-05 5.30e-05 -11.0 6.49e-04 - 1.00e+00 1.00e+00h 1
91 -5.3387909e+01 1.03e-06 2.17e-03 -11.0 4.97e-04 - 1.00e+00 1.00e+00h 1
92 -5.3387928e+01 2.19e-06 2.30e-03 -11.0 2.44e-04 - 1.00e+00 1.00e+00h 1
93 -5.3388030e+01 1.20e-06 1.78e-04 -11.0 2.05e-04 - 1.00e+00 1.00e+00h 1
94 -5.3387971e+01 1.04e-07 3.29e-05 -11.0 5.88e-05 - 1.00e+00 1.00e+00h 1
95 -5.3387977e+01 4.37e-08 7.21e-07 -11.0 6.51e-06 - 1.00e+00 1.00e+00h 1
96 -5.3387979e+01 1.42e-08 4.69e-07 -11.0 1.84e-06 - 1.00e+00 1.00e+00h 1
97 -5.3387978e+01 1.34e-09 7.71e-07 -11.0 7.12e-07 - 1.00e+00 1.00e+00h 1
98 -5.3387978e+01 1.07e-09 7.78e-07 -11.0 3.36e-07 -3.0 1.00e+00 1.00e+00h 1
99 -5.3387978e+01 2.38e-10 4.95e-07 -11.0 1.01e-07 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
100 -5.3387978e+01 3.11e-11 3.53e-07 -11.0 1.24e-08 - 1.00e+00 1.00e+00h 1
101 -5.3387978e+01 8.97e-12 4.27e-07 -11.0 1.46e-09 - 1.00e+00 1.00e+00H 1
102 -5.3387978e+01 3.24e-12 1.70e-07 -11.0 5.96e-10 - 1.00e+00 1.00e+00h 1
103 -5.3387978e+01 5.63e-13 3.02e-07 -11.0 1.37e-10 - 1.00e+00 1.00e+00h 1
104 -5.3387978e+01 1.50e-13 5.48e-07 -11.0 3.02e-11 - 1.00e+00 1.00e+00h 1
105 -5.3387978e+01 1.25e-13 6.49e-07 -11.0 7.93e-12 - 1.00e+00 1.00e+00h 1
106 -5.3387978e+01 5.90e-14 4.40e-07 -11.0 5.62e-13 - 1.00e+00 1.00e+00h 1
107 -5.3387978e+01 8.13e-14 9.21e-07 -11.0 1.74e-13 - 1.00e+00 1.00e+00h 1
108 -5.3387978e+01 9.52e-14 2.44e-07 -11.0 1.41e-13 - 1.00e+00 1.00e+00h 1
109 -5.3387978e+01 7.24e-14 3.59e-07 -11.0 9.62e-14 - 1.00e+00 1.00e+00h 1
Number of Iterations....: 109
(scaled) (unscaled)
Objective...............: -5.3387978408025084e+01 -5.3387978408025084e+01
Dual infeasibility......: 3.5863296877325918e-07 3.5863296877325918e-07
Constraint violation....: 7.2375804125490088e-14 7.2375804125490088e-14
Variable bound violation: 9.9994695856864269e-09 9.9994695856864269e-09
Complementarity.........: 1.0000142303125445e-11 1.0000142303125445e-11
Overall NLP error.......: 3.5863296877325918e-07 3.5863296877325918e-07
Number of objective function evaluations = 133
Number of objective gradient evaluations = 109
Number of equality constraint evaluations = 133
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 114
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 0
Total seconds in IPOPT = 11.434
EXIT: Solved To Acceptable Level.
Simulating trajectory traj
Done simulating trajectory traj
Launch angle: 85.0000 deg
Flight angle at end of propulsion: 83.9875 deg
Empty mass: 0.1449 kg
Water volume: 0.9839 L
Maximum range: 16.2942 m
Maximum height: 53.3880 m
Maximum velocity: 46.1508 m/s
Maximum Height Solution: Propulsive Phase#
plot_propelled_ascent(sol_out, sim_out)

Maximum Height Solution: Height vs. Range#
Note that the equations of motion used here are singular in vertical flight, so the launch angle (the initial flight path angle) was limited to 85 degrees.
plot_trajectory(sol_out, sim_out, legend_loc='center right')

Maximum Height Solution: State History#
plot_states(sol_out, sim_out, legend_loc='lower center', legend_ncol=3)

Optimizing for Range#
from dymos.examples.water_rocket.phases import new_water_rocket_trajectory, set_sane_initial_guesses
p = om.Problem(model=om.Group())
traj, phases = new_water_rocket_trajectory(objective='range')
traj = p.model.add_subsystem('traj', traj)
p.driver = om.pyOptSparseDriver(optimizer='IPOPT')
p.driver.opt_settings['print_level'] = 5
p.driver.opt_settings['max_iter'] = 1000
p.driver.opt_settings['mu_strategy'] = 'adaptive'
p.driver.opt_settings['nlp_scaling_method'] = 'gradient-based' # for faster convergence
p.driver.opt_settings['alpha_for_y'] = 'safer-min-dual-infeas'
p.driver.declare_coloring(tol=1.0E-12)
# Finish Problem Setup
p.model.linear_solver = om.DirectSolver()
p.setup()
set_sane_initial_guesses(phases)
dm.run_problem(p, run_driver=True, simulate=True)
summary = summarize_results(p)
for key, entry in summary.items():
print(f'{key}: {entry.value:6.4f} {entry.unit}')
sol_out = om.CaseReader(p.get_outputs_dir() / 'dymos_solution.db').get_case('final')
sim_out = om.CaseReader(traj.sim_prob.get_outputs_dir() / 'dymos_simulation.db').get_case('final')
'rhs_checking' is disabled for 'DirectSolver in <model> <class Group>' but that solver has redundant adjoint solves. If it is expensive to compute derivatives for this solver, turning on 'rhs_checking' may improve performance.
Jacobian shape: (611, 613) (1.23% nonzero)
FWD solves: 20 REV solves: 0
Total colors vs. total size: 20 vs 613 (96.74% improvement)
Sparsity computed using tolerance: 1e-12.
Dense total jacobian for Problem 'problem6' was computed 3 times.
Time to compute sparsity: 0.4807 sec
Time to compute coloring: 0.7478 sec
Memory to compute coloring: 0.1250 MB
Coloring created on: 2025-07-16 18:57:31
List of user-set options:
Name Value used
alpha_for_y = safer-min-dual-infeas yes
file_print_level = 5 yes
hessian_approximation = limited-memory yes
linear_solver = mumps yes
max_iter = 1000 yes
mu_strategy = adaptive yes
nlp_scaling_method = gradient-based yes
output_file = /home/runner/work/dymos/dymos/docs/dymos_book/examples/water_rocket/problem6_out/IPOPT.out yes
print_level = 5 yes
print_user_options = yes yes
sb = yes yes
This is Ipopt version 3.14.17, running with linear solver MUMPS 5.7.3.
Number of nonzeros in equality constraint Jacobian...: 103007
Number of nonzeros in inequality constraint Jacobian.: 0
Number of nonzeros in Lagrangian Hessian.............: 0
Total number of variables............................: 613
variables with only lower bounds: 180
variables with lower and upper bounds: 67
variables with only upper bounds: 30
Total number of equality constraints.................: 610
Total number of inequality constraints...............: 0
inequality constraints with only lower bounds: 0
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 0
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 -2.0000000e+01 9.00e+01 3.60e-01 0.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 -1.3188387e+01 2.49e+01 6.36e+03 -5.8 4.98e+01 - 1.85e-01 7.23e-01h 1
2 -3.5089577e+01 7.07e+00 2.76e+04 0.6 4.19e+01 - 1.00e+00 7.63e-01h 1
3 -3.5976015e+01 6.87e+01 1.55e+06 1.8 6.90e+01 - 1.00e+00 3.48e-01f 1
4 -5.5522114e+01 1.36e+02 1.39e+05 2.3 6.51e+01 - 6.72e-01 1.00e+00f 1
5 -4.3438267e+01 5.27e+01 8.03e+04 2.3 2.98e+01 - 1.00e+00 1.00e+00f 1
6 -3.7806064e+01 1.10e+02 2.36e+05 2.1 4.99e+01 - 9.72e-01 1.00e+00f 1
7 -5.6571012e+01 1.16e+02 6.64e+04 2.6 4.77e+01 - 1.00e+00 4.78e-01h 1
8 -6.9028277e+01 2.97e+01 1.13e+05 2.4 3.16e+01 - 9.42e-01 1.00e+00h 1
9 -3.7879082e+01 1.64e+00 2.40e+04 3.2 3.11e+01 - 5.60e-01 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
10 -5.3052216e+01 8.81e-01 1.21e+06 2.5 1.52e+01 - 9.82e-01 1.00e+00f 1
11 -5.2073297e+01 4.41e-03 1.48e+04 0.9 9.79e-01 - 1.00e+00 1.00e+00f 1
12 -6.1263024e+01 1.20e+00 2.15e+02 0.4 9.19e+00 - 9.88e-01 1.00e+00f 1
13 -7.0764256e+01 1.04e+00 4.12e+02 -0.8 9.50e+00 - 1.00e+00 1.00e+00f 1
14 -7.8629009e+01 7.41e-01 1.84e+02 -1.3 7.86e+00 - 1.00e+00 1.00e+00f 1
15 -8.1990265e+01 3.04e-01 2.89e+01 -2.5 4.32e+00 - 1.00e+00 1.00e+00f 1
16 -8.3480339e+01 1.42e-01 3.57e+01 -3.2 3.00e+00 - 1.00e+00 1.00e+00h 1
17 -8.4871615e+01 1.95e-01 4.33e+01 -3.5 1.92e+00 - 1.00e+00 1.00e+00f 1
18 -8.5188038e+01 4.68e-01 1.30e+02 -3.8 9.56e+00 - 1.00e+00 1.00e+00h 1
19 -8.4931459e+01 2.52e-02 2.47e+01 -4.5 4.10e+00 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
20 -8.5810579e+01 3.35e-02 1.70e+01 -5.3 4.78e+00 - 1.00e+00 1.00e+00f 1
21 -8.3431619e+01 3.09e-02 1.30e+01 -6.1 2.38e+00 - 1.00e+00 1.00e+00h 1
22 -8.5720066e+01 6.27e-02 4.14e+01 -7.0 3.34e+00 - 1.00e+00 1.00e+00f 1
23 -8.7119415e+01 8.38e-02 6.93e+00 -7.5 2.50e+00 - 1.00e+00 1.00e+00f 1
24 -8.4835237e+01 1.88e-02 1.34e+01 -8.4 5.37e+00 - 1.00e+00 1.00e+00H 1
25 -8.5172725e+01 9.68e-03 2.40e+00 -8.5 2.17e+00 - 1.00e+00 1.00e+00h 1
26 -8.5104627e+01 1.11e-04 1.41e-01 -10.3 1.21e-01 - 1.00e+00 1.00e+00h 1
27 -8.5098690e+01 9.97e-05 7.34e-02 -11.0 1.05e-02 - 1.00e+00 1.00e+00h 1
28 -8.5100329e+01 4.57e-05 6.76e-03 -11.0 6.64e-03 - 1.00e+00 1.00e+00H 1
29 -8.5096924e+01 6.62e-06 8.65e-03 -11.0 3.41e-03 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
30 -8.5081796e+01 1.26e-06 4.95e-01 -11.0 2.59e-02 - 1.00e+00 1.00e+00H 1
31 -8.5081812e+01 2.31e-04 1.53e-02 -11.0 2.37e-02 - 1.00e+00 1.00e+00h 1
32 -8.5097550e+01 2.29e-05 6.88e-03 -11.0 1.57e-02 - 1.00e+00 1.00e+00h 1
33 -8.5097914e+01 1.95e-05 2.96e-03 -11.0 2.67e-03 - 1.00e+00 1.00e+00h 1
34 -8.5096570e+01 3.15e-06 6.16e-03 -11.0 2.13e-03 - 1.00e+00 1.00e+00h 1
35 -8.5096814e+01 1.24e-06 3.31e-02 -11.0 8.19e-04 - 1.00e+00 1.00e+00H 1
36 -8.5096716e+01 1.57e-07 4.95e-05 -11.0 9.84e-05 - 1.00e+00 1.00e+00h 1
37 -8.5096709e+01 3.37e-08 2.41e-07 -11.0 6.84e-06 - 1.00e+00 1.00e+00h 1
38 -8.5096712e+01 3.49e-08 3.41e-07 -11.0 3.14e-06 - 1.00e+00 1.00e+00h 1
39 -8.5096709e+01 3.34e-08 3.52e-07 -11.0 3.34e-06 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
40 -8.5096712e+01 5.04e-09 1.80e-06 -11.0 2.37e-06 - 1.00e+00 1.00e+00h 1
41 -8.5096712e+01 9.26e-09 1.08e-06 -11.0 2.39e-06 - 1.00e+00 1.00e+00h 1
42 -8.5096711e+01 5.84e-09 3.22e-07 -11.0 6.88e-07 - 1.00e+00 1.00e+00h 1
43 -8.5096711e+01 5.32e-09 4.12e-07 -11.0 3.79e-07 - 1.00e+00 1.00e+00h 1
44 -8.5096711e+01 5.88e-10 2.16e-07 -11.0 3.77e-07 - 1.00e+00 1.00e+00h 1
45 -8.5096711e+01 2.10e-10 8.20e-07 -11.0 4.55e-07 - 1.00e+00 1.00e+00h 1
46 -8.5096711e+01 5.60e-10 2.05e-07 -11.0 3.86e-07 - 1.00e+00 1.00e+00h 1
47 -8.5096711e+01 7.55e-10 8.51e-07 -11.0 3.28e-07 - 1.00e+00 1.00e+00H 1
48 -8.5096711e+01 3.53e-10 5.26e-07 -11.0 2.37e-07 - 1.00e+00 1.00e+00H 1
49 -8.5096711e+01 1.54e-10 2.96e-07 -11.0 2.74e-08 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
50 -8.5096711e+01 9.48e-11 4.98e-07 -11.0 1.15e-08 - 1.00e+00 1.00e+00h 1
51 -8.5096711e+01 2.58e-11 8.63e-08 -11.0 6.89e-09 - 1.00e+00 1.00e+00h 1
52 -8.5096711e+01 7.25e-12 4.15e-07 -11.0 2.42e-09 - 1.00e+00 1.00e+00H 1
53 -8.5096711e+01 1.33e-11 3.00e-07 -11.0 2.37e-09 - 1.00e+00 1.00e+00H 1
54 -8.5096711e+01 2.14e-12 1.66e-07 -11.0 1.06e-09 - 1.00e+00 1.00e+00h 1
55 -8.5096711e+01 2.60e-13 1.55e-07 -11.0 1.83e-10 -2.0 1.00e+00 1.00e+00h 1
56 -8.5096711e+01 3.18e-13 6.07e-07 -11.0 1.33e-10 - 1.00e+00 1.00e+00h 1
Number of Iterations....: 56
(scaled) (unscaled)
Objective...............: -8.5096711081763416e+01 -8.5096711081763416e+01
Dual infeasibility......: 6.0708479496332250e-07 6.0708479496332250e-07
Constraint violation....: 3.1817186132721855e-13 3.1817186132721855e-13
Variable bound violation: 0.0000000000000000e+00 0.0000000000000000e+00
Complementarity.........: 1.0000000000000003e-11 1.0000000000000003e-11
Overall NLP error.......: 6.0708479496332250e-07 6.0708479496332250e-07
Number of objective function evaluations = 66
Number of objective gradient evaluations = 57
Number of equality constraint evaluations = 66
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 57
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 0
Total seconds in IPOPT = 6.863
EXIT: Solved To Acceptable Level.
Optimization Problem -- Optimization using pyOpt_sparse
================================================================================
Objective Function: _objfunc
Solution:
--------------------------------------------------------------------------------
Total Time: 6.8649
User Objective Time : 0.2812
User Sensitivity Time : 3.9673
Interface Time : 0.7824
Opt Solver Time: 1.8340
Calls to Objective Function : 67
Calls to Sens Function : 58
Objectives
Index Name Value
0 traj.descent.states:r -8.509671E+01
Variables (c - continuous, i - integer, d - discrete)
Index Name Type Lower Bound Value Upper Bound Status
0 traj.parameters:m_empty_0 c 1.000000E-02 1.891068E+00 1.000000E+01
1 traj.ballistic_ascent.t_initial_0 c 1.000000E-03 1.127359E-01 1.000000E+00
2 traj.ballistic_ascent.t_duration_0 c 1.000000E-03 1.928639E+00 1.000000E+01
3 traj.ballistic_ascent.states:r_0 c -1.000000E+21 1.609883E+00 1.000000E+21
4 traj.ballistic_ascent.states:r_1 c -1.000000E+21 3.796505E+00 1.000000E+21
5 traj.ballistic_ascent.states:r_2 c -1.000000E+21 6.719126E+00 1.000000E+21
6 traj.ballistic_ascent.states:r_3 c -1.000000E+21 7.622675E+00 1.000000E+21
7 traj.ballistic_ascent.states:r_4 c -1.000000E+21 9.654936E+00 1.000000E+21
8 traj.ballistic_ascent.states:r_5 c -1.000000E+21 1.237962E+01 1.000000E+21
9 traj.ballistic_ascent.states:r_6 c -1.000000E+21 1.322386E+01 1.000000E+21
10 traj.ballistic_ascent.states:r_7 c -1.000000E+21 1.512589E+01 1.000000E+21
11 traj.ballistic_ascent.states:r_8 c -1.000000E+21 1.768270E+01 1.000000E+21
12 traj.ballistic_ascent.states:r_9 c -1.000000E+21 1.847644E+01 1.000000E+21
13 traj.ballistic_ascent.states:r_10 c -1.000000E+21 2.026728E+01 1.000000E+21
14 traj.ballistic_ascent.states:r_11 c -1.000000E+21 2.268007E+01 1.000000E+21
15 traj.ballistic_ascent.states:r_12 c -1.000000E+21 2.343033E+01 1.000000E+21
16 traj.ballistic_ascent.states:r_13 c -1.000000E+21 2.512518E+01 1.000000E+21
17 traj.ballistic_ascent.states:r_14 c -1.000000E+21 2.741311E+01 1.000000E+21
18 traj.ballistic_ascent.states:r_15 c -1.000000E+21 2.812555E+01 1.000000E+21
19 traj.ballistic_ascent.states:r_16 c -1.000000E+21 2.973668E+01 1.000000E+21
20 traj.ballistic_ascent.states:r_17 c -1.000000E+21 3.191524E+01 1.000000E+21
21 traj.ballistic_ascent.states:r_18 c -1.000000E+21 3.259445E+01 1.000000E+21
22 traj.ballistic_ascent.states:r_19 c -1.000000E+21 3.413183E+01 1.000000E+21
23 traj.ballistic_ascent.states:r_20 c -1.000000E+21 3.621365E+01 1.000000E+21
24 traj.ballistic_ascent.states:r_21 c -1.000000E+21 3.686338E+01 1.000000E+21
25 traj.ballistic_ascent.states:r_22 c -1.000000E+21 3.833514E+01 1.000000E+21
26 traj.ballistic_ascent.states:r_23 c -1.000000E+21 4.033049E+01 1.000000E+21
27 traj.ballistic_ascent.states:r_24 c -1.000000E+21 4.095377E+01 1.000000E+21
28 traj.ballistic_ascent.states:r_25 c -1.000000E+21 4.236652E+01 1.000000E+21
29 traj.ballistic_ascent.states:r_26 c -1.000000E+21 4.428375E+01 1.000000E+21
30 traj.ballistic_ascent.states:r_27 c -1.000000E+21 4.488304E+01 1.000000E+21
31 traj.ballistic_ascent.states:r_28 c -1.000000E+21 4.624213E+01 1.000000E+21
32 traj.ballistic_ascent.states:r_29 c -1.000000E+21 4.808798E+01 1.000000E+21
33 traj.ballistic_ascent.states:r_30 c -1.000000E+21 4.866527E+01 1.000000E+21
34 traj.ballistic_ascent.states:h_0 c -1.000000E+21 1.305634E+00 1.000000E+21
35 traj.ballistic_ascent.states:h_1 c -1.000000E+21 3.015243E+00 1.000000E+21
36 traj.ballistic_ascent.states:h_2 c -1.000000E+21 5.226005E+00 1.000000E+21
37 traj.ballistic_ascent.states:h_3 c -1.000000E+21 5.891426E+00 1.000000E+21
38 traj.ballistic_ascent.states:h_4 c -1.000000E+21 7.355373E+00 1.000000E+21
39 traj.ballistic_ascent.states:h_5 c -1.000000E+21 9.243708E+00 1.000000E+21
40 traj.ballistic_ascent.states:h_6 c -1.000000E+21 9.810733E+00 1.000000E+21
41 traj.ballistic_ascent.states:h_7 c -1.000000E+21 1.105548E+01 1.000000E+21
42 traj.ballistic_ascent.states:h_8 c -1.000000E+21 1.265423E+01 1.000000E+21
43 traj.ballistic_ascent.states:h_9 c -1.000000E+21 1.313246E+01 1.000000E+21
44 traj.ballistic_ascent.states:h_10 c -1.000000E+21 1.417867E+01 1.000000E+21
45 traj.ballistic_ascent.states:h_11 c -1.000000E+21 1.551366E+01 1.000000E+21
46 traj.ballistic_ascent.states:h_12 c -1.000000E+21 1.591067E+01 1.000000E+21
47 traj.ballistic_ascent.states:h_13 c -1.000000E+21 1.677474E+01 1.000000E+21
48 traj.ballistic_ascent.states:h_14 c -1.000000E+21 1.786652E+01 1.000000E+21
49 traj.ballistic_ascent.states:h_15 c -1.000000E+21 1.818839E+01 1.000000E+21
50 traj.ballistic_ascent.states:h_16 c -1.000000E+21 1.888344E+01 1.000000E+21
51 traj.ballistic_ascent.states:h_17 c -1.000000E+21 1.974857E+01 1.000000E+21
52 traj.ballistic_ascent.states:h_18 c -1.000000E+21 2.000017E+01 1.000000E+21
53 traj.ballistic_ascent.states:h_19 c -1.000000E+21 2.053684E+01 1.000000E+21
54 traj.ballistic_ascent.states:h_20 c -1.000000E+21 2.118879E+01 1.000000E+21
55 traj.ballistic_ascent.states:h_21 c -1.000000E+21 2.137413E+01 1.000000E+21
56 traj.ballistic_ascent.states:h_22 c -1.000000E+21 2.176113E+01 1.000000E+21
57 traj.ballistic_ascent.states:h_23 c -1.000000E+21 2.221099E+01 1.000000E+21
58 traj.ballistic_ascent.states:h_24 c -1.000000E+21 2.233338E+01 1.000000E+21
59 traj.ballistic_ascent.states:h_25 c -1.000000E+21 2.257793E+01 1.000000E+21
60 traj.ballistic_ascent.states:h_26 c -1.000000E+21 2.283496E+01 1.000000E+21
61 traj.ballistic_ascent.states:h_27 c -1.000000E+21 2.289716E+01 1.000000E+21
62 traj.ballistic_ascent.states:h_28 c -1.000000E+21 2.300536E+01 1.000000E+21
63 traj.ballistic_ascent.states:h_29 c -1.000000E+21 2.307744E+01 1.000000E+21
64 traj.ballistic_ascent.states:h_30 c -1.000000E+21 2.308183E+01 1.000000E+21
65 traj.ballistic_ascent.states:gam_0 c -1.111111E+19 4.265399E-01 9.888889E-01
66 traj.ballistic_ascent.states:gam_1 c -1.111111E+19 4.182297E-01 9.888889E-01
67 traj.ballistic_ascent.states:gam_2 c -1.111111E+19 4.060968E-01 9.888889E-01
68 traj.ballistic_ascent.states:gam_3 c -1.111111E+19 4.020906E-01 9.888889E-01
69 traj.ballistic_ascent.states:gam_4 c -1.111111E+19 3.926055E-01 9.888889E-01
70 traj.ballistic_ascent.states:gam_5 c -1.111111E+19 3.787840E-01 9.888889E-01
71 traj.ballistic_ascent.states:gam_6 c -1.111111E+19 3.742266E-01 9.888889E-01
72 traj.ballistic_ascent.states:gam_7 c -1.111111E+19 3.634492E-01 9.888889E-01
73 traj.ballistic_ascent.states:gam_8 c -1.111111E+19 3.477750E-01 9.888889E-01
74 traj.ballistic_ascent.states:gam_9 c -1.111111E+19 3.426144E-01 9.888889E-01
75 traj.ballistic_ascent.states:gam_10 c -1.111111E+19 3.304257E-01 9.888889E-01
76 traj.ballistic_ascent.states:gam_11 c -1.111111E+19 3.127375E-01 9.888889E-01
77 traj.ballistic_ascent.states:gam_12 c -1.111111E+19 3.069240E-01 9.888889E-01
78 traj.ballistic_ascent.states:gam_13 c -1.111111E+19 2.932134E-01 9.888889E-01
79 traj.ballistic_ascent.states:gam_14 c -1.111111E+19 2.733693E-01 9.888889E-01
80 traj.ballistic_ascent.states:gam_15 c -1.111111E+19 2.668611E-01 9.888889E-01
81 traj.ballistic_ascent.states:gam_16 c -1.111111E+19 2.515410E-01 9.888889E-01
82 traj.ballistic_ascent.states:gam_17 c -1.111111E+19 2.294415E-01 9.888889E-01
83 traj.ballistic_ascent.states:gam_18 c -1.111111E+19 2.222134E-01 9.888889E-01
84 traj.ballistic_ascent.states:gam_19 c -1.111111E+19 2.052394E-01 9.888889E-01
85 traj.ballistic_ascent.states:gam_20 c -1.111111E+19 1.808587E-01 9.888889E-01
86 traj.ballistic_ascent.states:gam_21 c -1.111111E+19 1.729123E-01 9.888889E-01
87 traj.ballistic_ascent.states:gam_22 c -1.111111E+19 1.543078E-01 9.888889E-01
88 traj.ballistic_ascent.states:gam_23 c -1.111111E+19 1.277288E-01 9.888889E-01
89 traj.ballistic_ascent.states:gam_24 c -1.111111E+19 1.191038E-01 9.888889E-01
90 traj.ballistic_ascent.states:gam_25 c -1.111111E+19 9.898556E-02 9.888889E-01
91 traj.ballistic_ascent.states:gam_26 c -1.111111E+19 7.043261E-02 9.888889E-01
92 traj.ballistic_ascent.states:gam_27 c -1.111111E+19 6.121588E-02 9.888889E-01
93 traj.ballistic_ascent.states:gam_28 c -1.111111E+19 3.981308E-02 9.888889E-01
94 traj.ballistic_ascent.states:gam_29 c -1.111111E+19 9.670357E-03 9.888889E-01
95 traj.ballistic_ascent.states:v_0 c -1.000000E+21 4.130291E+01 1.000000E+21
96 traj.ballistic_ascent.states:v_1 c -1.000000E+21 3.977982E+01 1.000000E+21
97 traj.ballistic_ascent.states:v_2 c -1.000000E+21 3.781946E+01 1.000000E+21
98 traj.ballistic_ascent.states:v_3 c -1.000000E+21 3.723047E+01 1.000000E+21
99 traj.ballistic_ascent.states:v_4 c -1.000000E+21 3.593495E+01 1.000000E+21
100 traj.ballistic_ascent.states:v_5 c -1.000000E+21 3.426083E+01 1.000000E+21
101 traj.ballistic_ascent.states:v_6 c -1.000000E+21 3.375652E+01 1.000000E+21
102 traj.ballistic_ascent.states:v_7 c -1.000000E+21 3.264529E+01 1.000000E+21
103 traj.ballistic_ascent.states:v_8 c -1.000000E+21 3.120589E+01 1.000000E+21
104 traj.ballistic_ascent.states:v_9 c -1.000000E+21 3.077167E+01 1.000000E+21
105 traj.ballistic_ascent.states:v_10 c -1.000000E+21 2.981417E+01 1.000000E+21
106 traj.ballistic_ascent.states:v_11 c -1.000000E+21 2.857299E+01 1.000000E+21
107 traj.ballistic_ascent.states:v_12 c -1.000000E+21 2.819855E+01 1.000000E+21
108 traj.ballistic_ascent.states:v_13 c -1.000000E+21 2.737310E+01 1.000000E+21
109 traj.ballistic_ascent.states:v_14 c -1.000000E+21 2.630434E+01 1.000000E+21
110 traj.ballistic_ascent.states:v_15 c -1.000000E+21 2.598238E+01 1.000000E+21
111 traj.ballistic_ascent.states:v_16 c -1.000000E+21 2.527374E+01 1.000000E+21
112 traj.ballistic_ascent.states:v_17 c -1.000000E+21 2.435930E+01 1.000000E+21
113 traj.ballistic_ascent.states:v_18 c -1.000000E+21 2.408474E+01 1.000000E+21
114 traj.ballistic_ascent.states:v_19 c -1.000000E+21 2.348227E+01 1.000000E+21
115 traj.ballistic_ascent.states:v_20 c -1.000000E+21 2.270963E+01 1.000000E+21
116 traj.ballistic_ascent.states:v_21 c -1.000000E+21 2.247894E+01 1.000000E+21
117 traj.ballistic_ascent.states:v_22 c -1.000000E+21 2.197533E+01 1.000000E+21
118 traj.ballistic_ascent.states:v_23 c -1.000000E+21 2.133578E+01 1.000000E+21
119 traj.ballistic_ascent.states:v_24 c -1.000000E+21 2.114650E+01 1.000000E+21
120 traj.ballistic_ascent.states:v_25 c -1.000000E+21 2.073654E+01 1.000000E+21
121 traj.ballistic_ascent.states:v_26 c -1.000000E+21 2.022371E+01 1.000000E+21
122 traj.ballistic_ascent.states:v_27 c -1.000000E+21 2.007398E+01 1.000000E+21
123 traj.ballistic_ascent.states:v_28 c -1.000000E+21 1.975357E+01 1.000000E+21
124 traj.ballistic_ascent.states:v_29 c -1.000000E+21 1.936202E+01 1.000000E+21
125 traj.ballistic_ascent.states:v_30 c -1.000000E+21 1.925012E+01 1.000000E+21
126 traj.descent.t_initial_0 c 5.000000E-01 2.041375E+00 1.000000E+02
127 traj.descent.t_duration_0 c 5.000000E-02 2.327564E-01 1.000000E+01
128 traj.descent.states:r_0 c -1.000000E+21 4.866527E+01 1.000000E+21
129 traj.descent.states:r_1 c -1.000000E+21 5.024379E+01 1.000000E+21
130 traj.descent.states:r_2 c -1.000000E+21 5.238226E+01 1.000000E+21
131 traj.descent.states:r_3 c -1.000000E+21 5.304978E+01 1.000000E+21
132 traj.descent.states:r_4 c -1.000000E+21 5.456188E+01 1.000000E+21
133 traj.descent.states:r_5 c -1.000000E+21 5.661146E+01 1.000000E+21
134 traj.descent.states:r_6 c -1.000000E+21 5.725144E+01 1.000000E+21
135 traj.descent.states:r_7 c -1.000000E+21 5.870144E+01 1.000000E+21
136 traj.descent.states:r_8 c -1.000000E+21 6.066730E+01 1.000000E+21
137 traj.descent.states:r_9 c -1.000000E+21 6.128121E+01 1.000000E+21
138 traj.descent.states:r_10 c -1.000000E+21 6.267218E+01 1.000000E+21
139 traj.descent.states:r_11 c -1.000000E+21 6.455796E+01 1.000000E+21
140 traj.descent.states:r_12 c -1.000000E+21 6.514681E+01 1.000000E+21
141 traj.descent.states:r_13 c -1.000000E+21 6.648085E+01 1.000000E+21
142 traj.descent.states:r_14 c -1.000000E+21 6.828900E+01 1.000000E+21
143 traj.descent.states:r_15 c -1.000000E+21 6.885346E+01 1.000000E+21
144 traj.descent.states:r_16 c -1.000000E+21 7.013198E+01 1.000000E+21
145 traj.descent.states:r_17 c -1.000000E+21 7.186414E+01 1.000000E+21
146 traj.descent.states:r_18 c -1.000000E+21 7.240468E+01 1.000000E+21
147 traj.descent.states:r_19 c -1.000000E+21 7.362863E+01 1.000000E+21
148 traj.descent.states:r_20 c -1.000000E+21 7.528593E+01 1.000000E+21
149 traj.descent.states:r_21 c -1.000000E+21 7.580287E+01 1.000000E+21
150 traj.descent.states:r_22 c -1.000000E+21 7.697294E+01 1.000000E+21
151 traj.descent.states:r_23 c -1.000000E+21 7.855623E+01 1.000000E+21
152 traj.descent.states:r_24 c -1.000000E+21 7.904983E+01 1.000000E+21
153 traj.descent.states:r_25 c -1.000000E+21 8.016660E+01 1.000000E+21
154 traj.descent.states:r_26 c -1.000000E+21 8.167668E+01 1.000000E+21
155 traj.descent.states:r_27 c -1.000000E+21 8.214720E+01 1.000000E+21
156 traj.descent.states:r_28 c -1.000000E+21 8.321126E+01 1.000000E+21
157 traj.descent.states:r_29 c -1.000000E+21 8.464899E+01 1.000000E+21
158 traj.descent.states:r_30 c -1.000000E+21 8.509671E+01 1.000000E+21
159 traj.descent.states:h_0 c -1.000000E+21 2.308183E+01 1.000000E+21
160 traj.descent.states:h_1 c -1.000000E+21 2.304852E+01 1.000000E+21
161 traj.descent.states:h_2 c -1.000000E+21 2.289447E+01 1.000000E+21
162 traj.descent.states:h_3 c -1.000000E+21 2.281998E+01 1.000000E+21
163 traj.descent.states:h_4 c -1.000000E+21 2.260341E+01 1.000000E+21
164 traj.descent.states:h_5 c -1.000000E+21 2.220091E+01 1.000000E+21
165 traj.descent.states:h_6 c -1.000000E+21 2.204882E+01 1.000000E+21
166 traj.descent.states:h_7 c -1.000000E+21 2.165640E+01 1.000000E+21
167 traj.descent.states:h_8 c -1.000000E+21 2.101542E+01 1.000000E+21
168 traj.descent.states:h_9 c -1.000000E+21 2.078883E+01 1.000000E+21
169 traj.descent.states:h_10 c -1.000000E+21 2.022762E+01 1.000000E+21
170 traj.descent.states:h_11 c -1.000000E+21 1.935782E+01 1.000000E+21
171 traj.descent.states:h_12 c -1.000000E+21 1.905980E+01 1.000000E+21
172 traj.descent.states:h_13 c -1.000000E+21 1.833682E+01 1.000000E+21
173 traj.descent.states:h_14 c -1.000000E+21 1.724797E+01 1.000000E+21
174 traj.descent.states:h_15 c -1.000000E+21 1.688164E+01 1.000000E+21
175 traj.descent.states:h_16 c -1.000000E+21 1.600408E+01 1.000000E+21
176 traj.descent.states:h_17 c -1.000000E+21 1.470626E+01 1.000000E+21
177 traj.descent.states:h_18 c -1.000000E+21 1.427484E+01 1.000000E+21
178 traj.descent.states:h_19 c -1.000000E+21 1.325019E+01 1.000000E+21
179 traj.descent.states:h_20 c -1.000000E+21 1.175388E+01 1.000000E+21
180 traj.descent.states:h_21 c -1.000000E+21 1.126075E+01 1.000000E+21
181 traj.descent.states:h_22 c -1.000000E+21 1.009678E+01 1.000000E+21
182 traj.descent.states:h_23 c -1.000000E+21 8.412916E+00 1.000000E+21
183 traj.descent.states:h_24 c -1.000000E+21 7.861557E+00 1.000000E+21
184 traj.descent.states:h_25 c -1.000000E+21 6.566341E+00 1.000000E+21
185 traj.descent.states:h_26 c -1.000000E+21 4.706168E+00 1.000000E+21
186 traj.descent.states:h_27 c -1.000000E+21 4.100175E+00 1.000000E+21
187 traj.descent.states:h_28 c -1.000000E+21 2.681974E+00 1.000000E+21
188 traj.descent.states:h_29 c -1.000000E+21 6.569790E-01 1.000000E+21
189 traj.descent.states:gam_0 c -1.000000E+21 -9.979300E-32 1.000000E+21
190 traj.descent.states:gam_1 c -1.000000E+21 -2.429594E+00 1.000000E+21
191 traj.descent.states:gam_2 c -1.000000E+21 -5.827208E+00 1.000000E+21
192 traj.descent.states:gam_3 c -1.000000E+21 -6.910034E+00 1.000000E+21
193 traj.descent.states:gam_4 c -1.000000E+21 -9.396378E+00 1.000000E+21
194 traj.descent.states:gam_5 c -1.000000E+21 -1.282741E+01 1.000000E+21
195 traj.descent.states:gam_6 c -1.000000E+21 -1.390973E+01 1.000000E+21
196 traj.descent.states:gam_7 c -1.000000E+21 -1.637513E+01 1.000000E+21
197 traj.descent.states:gam_8 c -1.000000E+21 -1.973335E+01 1.000000E+21
198 traj.descent.states:gam_9 c -1.000000E+21 -2.078240E+01 1.000000E+21
199 traj.descent.states:gam_10 c -1.000000E+21 -2.315455E+01 1.000000E+21
200 traj.descent.states:gam_11 c -1.000000E+21 -2.634838E+01 1.000000E+21
201 traj.descent.states:gam_12 c -1.000000E+21 -2.733766E+01 1.000000E+21
202 traj.descent.states:gam_13 c -1.000000E+21 -2.956081E+01 1.000000E+21
203 traj.descent.states:gam_14 c -1.000000E+21 -3.252558E+01 1.000000E+21
204 traj.descent.states:gam_15 c -1.000000E+21 -3.343774E+01 1.000000E+21
205 traj.descent.states:gam_16 c -1.000000E+21 -3.547777E+01 1.000000E+21
206 traj.descent.states:gam_17 c -1.000000E+21 -3.817886E+01 1.000000E+21
207 traj.descent.states:gam_18 c -1.000000E+21 -3.900583E+01 1.000000E+21
208 traj.descent.states:gam_19 c -1.000000E+21 -4.084906E+01 1.000000E+21
209 traj.descent.states:gam_20 c -1.000000E+21 -4.327760E+01 1.000000E+21
210 traj.descent.states:gam_21 c -1.000000E+21 -4.401874E+01 1.000000E+21
211 traj.descent.states:gam_22 c -1.000000E+21 -4.566709E+01 1.000000E+21
212 traj.descent.states:gam_23 c -1.000000E+21 -4.783236E+01 1.000000E+21
213 traj.descent.states:gam_24 c -1.000000E+21 -4.849194E+01 1.000000E+21
214 traj.descent.states:gam_25 c -1.000000E+21 -4.995719E+01 1.000000E+21
215 traj.descent.states:gam_26 c -1.000000E+21 -5.187907E+01 1.000000E+21
216 traj.descent.states:gam_27 c -1.000000E+21 -5.246405E+01 1.000000E+21
217 traj.descent.states:gam_28 c -1.000000E+21 -5.376301E+01 1.000000E+21
218 traj.descent.states:gam_29 c -1.000000E+21 -5.546613E+01 1.000000E+21
219 traj.descent.states:gam_30 c -1.000000E+21 -5.598449E+01 1.000000E+21
220 traj.descent.states:v_0 c -1.000000E+21 1.925012E+01 1.000000E+21
221 traj.descent.states:v_1 c -1.000000E+21 1.897038E+01 1.000000E+21
222 traj.descent.states:v_2 c -1.000000E+21 1.865397E+01 1.000000E+21
223 traj.descent.states:v_3 c -1.000000E+21 1.857022E+01 1.000000E+21
224 traj.descent.states:v_4 c -1.000000E+21 1.840725E+01 1.000000E+21
225 traj.descent.states:v_5 c -1.000000E+21 1.824609E+01 1.000000E+21
226 traj.descent.states:v_6 c -1.000000E+21 1.820993E+01 1.000000E+21
227 traj.descent.states:v_7 c -1.000000E+21 1.815288E+01 1.000000E+21
228 traj.descent.states:v_8 c -1.000000E+21 1.813033E+01 1.000000E+21
229 traj.descent.states:v_9 c -1.000000E+21 1.813609E+01 1.000000E+21
230 traj.descent.states:v_10 c -1.000000E+21 1.817131E+01 1.000000E+21
231 traj.descent.states:v_11 c -1.000000E+21 1.826717E+01 1.000000E+21
232 traj.descent.states:v_12 c -1.000000E+21 1.830818E+01 1.000000E+21
233 traj.descent.states:v_13 c -1.000000E+21 1.841999E+01 1.000000E+21
234 traj.descent.states:v_14 c -1.000000E+21 1.861200E+01 1.000000E+21
235 traj.descent.states:v_15 c -1.000000E+21 1.868112E+01 1.000000E+21
236 traj.descent.states:v_16 c -1.000000E+21 1.885314E+01 1.000000E+21
237 traj.descent.states:v_17 c -1.000000E+21 1.911888E+01 1.000000E+21
238 traj.descent.states:v_18 c -1.000000E+21 1.920912E+01 1.000000E+21
239 traj.descent.states:v_19 c -1.000000E+21 1.942560E+01 1.000000E+21
240 traj.descent.states:v_20 c -1.000000E+21 1.974412E+01 1.000000E+21
241 traj.descent.states:v_21 c -1.000000E+21 1.984907E+01 1.000000E+21
242 traj.descent.states:v_22 c -1.000000E+21 2.009583E+01 1.000000E+21
243 traj.descent.states:v_23 c -1.000000E+21 2.044870E+01 1.000000E+21
244 traj.descent.states:v_24 c -1.000000E+21 2.056284E+01 1.000000E+21
245 traj.descent.states:v_25 c -1.000000E+21 2.082776E+01 1.000000E+21
246 traj.descent.states:v_26 c -1.000000E+21 2.119958E+01 1.000000E+21
247 traj.descent.states:v_27 c -1.000000E+21 2.131832E+01 1.000000E+21
248 traj.descent.states:v_28 c -1.000000E+21 2.159151E+01 1.000000E+21
249 traj.descent.states:v_29 c -1.000000E+21 2.196983E+01 1.000000E+21
250 traj.descent.states:v_30 c -1.000000E+21 2.208956E+01 1.000000E+21
251 traj.propelled_ascent.t_duration_0 c 1.000000E-02 1.127359E+00 5.000000E+00
252 traj.propelled_ascent.states:r_0 c -1.000000E+19 6.330634E-06 1.000000E+19
253 traj.propelled_ascent.states:r_1 c -1.000000E+19 3.105194E-05 1.000000E+19
254 traj.propelled_ascent.states:r_2 c -1.000000E+19 4.265110E-05 1.000000E+19
255 traj.propelled_ascent.states:r_3 c -1.000000E+19 7.644391E-05 1.000000E+19
256 traj.propelled_ascent.states:r_4 c -1.000000E+19 1.389788E-04 1.000000E+19
257 traj.propelled_ascent.states:r_5 c -1.000000E+19 1.625912E-04 1.000000E+19
258 traj.propelled_ascent.states:r_6 c -1.000000E+19 2.235462E-04 1.000000E+19
259 traj.propelled_ascent.states:r_7 c -1.000000E+19 3.233054E-04 1.000000E+19
260 traj.propelled_ascent.states:r_8 c -1.000000E+19 3.586422E-04 1.000000E+19
261 traj.propelled_ascent.states:r_9 c -1.000000E+19 4.463509E-04 1.000000E+19
262 traj.propelled_ascent.states:r_10 c -1.000000E+19 5.828386E-04 1.000000E+19
263 traj.propelled_ascent.states:r_11 c -1.000000E+19 6.297614E-04 1.000000E+19
264 traj.propelled_ascent.states:r_12 c -1.000000E+19 7.439434E-04 1.000000E+19
265 traj.propelled_ascent.states:r_13 c -1.000000E+19 9.168562E-04 1.000000E+19
266 traj.propelled_ascent.states:r_14 c -1.000000E+19 9.752894E-04 1.000000E+19
267 traj.propelled_ascent.states:r_15 c -1.000000E+19 1.115809E-03 1.000000E+19
268 traj.propelled_ascent.states:r_16 c -1.000000E+19 1.325043E-03 1.000000E+19
269 traj.propelled_ascent.states:r_17 c -1.000000E+19 1.394974E-03 1.000000E+19
270 traj.propelled_ascent.states:r_18 c -1.000000E+19 1.561838E-03 1.000000E+19
271 traj.propelled_ascent.states:r_19 c -1.000000E+19 1.807488E-03 1.000000E+19
272 traj.propelled_ascent.states:r_20 c -1.000000E+19 1.888967E-03 1.000000E+19
273 traj.propelled_ascent.states:r_21 c -1.000000E+19 2.082327E-03 1.000000E+19
274 traj.propelled_ascent.states:r_22 c -1.000000E+19 2.364686E-03 1.000000E+19
275 traj.propelled_ascent.states:r_23 c -1.000000E+19 2.457826E-03 1.000000E+19
276 traj.propelled_ascent.states:r_24 c -1.000000E+19 2.677980E-03 1.000000E+19
277 traj.propelled_ascent.states:r_25 c -1.000000E+19 2.997545E-03 1.000000E+19
278 traj.propelled_ascent.states:r_26 c -1.000000E+19 3.102525E-03 1.000000E+19
279 traj.propelled_ascent.states:r_27 c -1.000000E+19 3.349923E-03 1.000000E+19
280 traj.propelled_ascent.states:r_28 c -1.000000E+19 3.707410E-03 1.000000E+19
281 traj.propelled_ascent.states:r_29 c -1.000000E+19 3.824480E-03 1.000000E+19
282 traj.propelled_ascent.states:r_30 c -1.000000E+19 4.099737E-03 1.000000E+19
283 traj.propelled_ascent.states:r_31 c -1.000000E+19 4.496099E-03 1.000000E+19
284 traj.propelled_ascent.states:r_32 c -1.000000E+19 4.625587E-03 1.000000E+19
285 traj.propelled_ascent.states:r_33 c -1.000000E+19 4.929503E-03 1.000000E+19
286 traj.propelled_ascent.states:r_34 c -1.000000E+19 5.365962E-03 1.000000E+19
287 traj.propelled_ascent.states:r_35 c -1.000000E+19 5.508285E-03 1.000000E+19
288 traj.propelled_ascent.states:r_36 c -1.000000E+19 5.841872E-03 1.000000E+19
289 traj.propelled_ascent.states:r_37 c -1.000000E+19 6.319963E-03 1.000000E+19
290 traj.propelled_ascent.states:r_38 c -1.000000E+19 6.475641E-03 1.000000E+19
291 traj.propelled_ascent.states:r_39 c -1.000000E+19 6.840162E-03 1.000000E+19
292 traj.propelled_ascent.states:r_40 c -1.000000E+19 7.361794E-03 1.000000E+19
293 traj.propelled_ascent.states:r_41 c -1.000000E+19 7.531476E-03 1.000000E+19
294 traj.propelled_ascent.states:r_42 c -1.000000E+19 7.928497E-03 1.000000E+19
295 traj.propelled_ascent.states:r_43 c -1.000000E+19 8.496043E-03 1.000000E+19
296 traj.propelled_ascent.states:r_44 c -1.000000E+19 8.680534E-03 1.000000E+19
297 traj.propelled_ascent.states:r_45 c -1.000000E+19 9.112006E-03 1.000000E+19
298 traj.propelled_ascent.states:r_46 c -1.000000E+19 9.728424E-03 1.000000E+19
299 traj.propelled_ascent.states:r_47 c -1.000000E+19 9.928729E-03 1.000000E+19
300 traj.propelled_ascent.states:r_48 c -1.000000E+19 1.039710E-02 1.000000E+19
301 traj.propelled_ascent.states:r_49 c -1.000000E+19 1.106612E-02 1.000000E+19
302 traj.propelled_ascent.states:r_50 c -1.000000E+19 1.128351E-02 1.000000E+19
303 traj.propelled_ascent.states:r_51 c -1.000000E+19 1.179189E-02 1.000000E+19
304 traj.propelled_ascent.states:r_52 c -1.000000E+19 1.251828E-02 1.000000E+19
305 traj.propelled_ascent.states:r_53 c -1.000000E+19 1.275441E-02 1.000000E+19
306 traj.propelled_ascent.states:r_54 c -1.000000E+19 1.330682E-02 1.000000E+19
307 traj.propelled_ascent.states:r_55 c -1.000000E+19 1.409686E-02 1.000000E+19
308 traj.propelled_ascent.states:r_56 c -1.000000E+19 1.435389E-02 1.000000E+19
309 traj.propelled_ascent.states:r_57 c -1.000000E+19 1.495572E-02 1.000000E+19
310 traj.propelled_ascent.states:r_58 c -1.000000E+19 1.581790E-02 1.000000E+19
311 traj.propelled_ascent.states:r_59 c -1.000000E+19 1.609883E-02 1.000000E+19
312 traj.propelled_ascent.states:h_0 c -1.000000E+20 5.955631E-05 1.000000E+20
313 traj.propelled_ascent.states:h_1 c -1.000000E+20 2.889796E-04 1.000000E+20
314 traj.propelled_ascent.states:h_2 c -1.000000E+20 3.970521E-04 1.000000E+20
315 traj.propelled_ascent.states:h_3 c -1.000000E+20 7.028056E-04 1.000000E+20
316 traj.propelled_ascent.states:h_4 c -1.000000E+20 1.261242E-03 1.000000E+20
317 traj.propelled_ascent.states:h_5 c -1.000000E+20 1.470426E-03 1.000000E+20
318 traj.propelled_ascent.states:h_6 c -1.000000E+20 2.007407E-03 1.000000E+20
319 traj.propelled_ascent.states:h_7 c -1.000000E+20 2.879226E-03 1.000000E+20
320 traj.propelled_ascent.states:h_8 c -1.000000E+20 3.186408E-03 1.000000E+20
321 traj.propelled_ascent.states:h_9 c -1.000000E+20 3.945910E-03 1.000000E+20
322 traj.propelled_ascent.states:h_10 c -1.000000E+20 5.120959E-03 1.000000E+20
323 traj.propelled_ascent.states:h_11 c -1.000000E+20 5.523314E-03 1.000000E+20
324 traj.propelled_ascent.states:h_12 c -1.000000E+20 6.499486E-03 1.000000E+20
325 traj.propelled_ascent.states:h_13 c -1.000000E+20 7.971004E-03 1.000000E+20
326 traj.propelled_ascent.states:h_14 c -1.000000E+20 8.466679E-03 1.000000E+20
327 traj.propelled_ascent.states:h_15 c -1.000000E+20 9.655772E-03 1.000000E+20
328 traj.propelled_ascent.states:h_16 c -1.000000E+20 1.141963E-02 1.000000E+20
329 traj.propelled_ascent.states:h_17 c -1.000000E+20 1.200757E-02 1.000000E+20
330 traj.propelled_ascent.states:h_18 c -1.000000E+20 1.340756E-02 1.000000E+20
331 traj.propelled_ascent.states:h_19 c -1.000000E+20 1.546189E-02 1.000000E+20
332 traj.propelled_ascent.states:h_20 c -1.000000E+20 1.614170E-02 1.000000E+20
333 traj.propelled_ascent.states:h_21 c -1.000000E+20 1.775210E-02 1.000000E+20
334 traj.propelled_ascent.states:h_22 c -1.000000E+20 2.009707E-02 1.000000E+20
335 traj.propelled_ascent.states:h_23 c -1.000000E+20 2.086901E-02 1.000000E+20
336 traj.propelled_ascent.states:h_24 c -1.000000E+20 2.269076E-02 1.000000E+20
337 traj.propelled_ascent.states:h_25 c -1.000000E+20 2.532851E-02 1.000000E+20
338 traj.propelled_ascent.states:h_26 c -1.000000E+20 2.619345E-02 1.000000E+20
339 traj.propelled_ascent.states:h_27 c -1.000000E+20 2.822892E-02 1.000000E+20
340 traj.propelled_ascent.states:h_28 c -1.000000E+20 3.116354E-02 1.000000E+20
341 traj.propelled_ascent.states:h_29 c -1.000000E+20 3.212299E-02 1.000000E+20
342 traj.propelled_ascent.states:h_30 c -1.000000E+20 3.437601E-02 1.000000E+20
343 traj.propelled_ascent.states:h_31 c -1.000000E+20 3.761369E-02 1.000000E+20
344 traj.propelled_ascent.states:h_32 c -1.000000E+20 3.866983E-02 1.000000E+20
345 traj.propelled_ascent.states:h_33 c -1.000000E+20 4.114581E-02 1.000000E+20
346 traj.propelled_ascent.states:h_34 c -1.000000E+20 4.469500E-02 1.000000E+20
347 traj.propelled_ascent.states:h_35 c -1.000000E+20 4.585077E-02 1.000000E+20
348 traj.propelled_ascent.states:h_36 c -1.000000E+20 4.855687E-02 1.000000E+20
349 traj.propelled_ascent.states:h_37 c -1.000000E+20 5.242864E-02 1.000000E+20
350 traj.propelled_ascent.states:h_38 c -1.000000E+20 5.368781E-02 1.000000E+20
351 traj.propelled_ascent.states:h_39 c -1.000000E+20 5.663329E-02 1.000000E+20
352 traj.propelled_ascent.states:h_40 c -1.000000E+20 6.084173E-02 1.000000E+20
353 traj.propelled_ascent.states:h_41 c -1.000000E+20 6.220912E-02 1.000000E+20
354 traj.propelled_ascent.states:h_42 c -1.000000E+20 6.540567E-02 1.000000E+20
355 traj.propelled_ascent.states:h_43 c -1.000000E+20 6.996861E-02 1.000000E+20
356 traj.propelled_ascent.states:h_44 c -1.000000E+20 7.145029E-02 1.000000E+20
357 traj.propelled_ascent.states:h_45 c -1.000000E+20 7.491269E-02 1.000000E+20
358 traj.propelled_ascent.states:h_46 c -1.000000E+20 7.985264E-02 1.000000E+20
359 traj.propelled_ascent.states:h_47 c -1.000000E+20 8.145630E-02 1.000000E+20
360 traj.propelled_ascent.states:h_48 c -1.000000E+20 8.520325E-02 1.000000E+20
361 traj.propelled_ascent.states:h_49 c -1.000000E+20 9.054882E-02 1.000000E+20
362 traj.propelled_ascent.states:h_50 c -1.000000E+20 9.228427E-02 1.000000E+20
363 traj.propelled_ascent.states:h_51 c -1.000000E+20 9.633973E-02 1.000000E+20
364 traj.propelled_ascent.states:h_52 c -1.000000E+20 1.021278E-01 1.000000E+20
365 traj.propelled_ascent.states:h_53 c -1.000000E+20 1.040078E-01 1.000000E+20
366 traj.propelled_ascent.states:h_54 c -1.000000E+20 1.084030E-01 1.000000E+20
367 traj.propelled_ascent.states:h_55 c -1.000000E+20 1.146823E-01 1.000000E+20
368 traj.propelled_ascent.states:h_56 c -1.000000E+20 1.167237E-01 1.000000E+20
369 traj.propelled_ascent.states:h_57 c -1.000000E+20 1.215006E-01 1.000000E+20
370 traj.propelled_ascent.states:h_58 c -1.000000E+20 1.283373E-01 1.000000E+20
371 traj.propelled_ascent.states:h_59 c -1.000000E+20 1.305634E-01 1.000000E+20
372 traj.propelled_ascent.states:gam_0 c 0.000000E+00 5.202544E-01 9.444444E-01
373 traj.propelled_ascent.states:gam_1 c 0.000000E+00 4.763626E-01 9.444444E-01
374 traj.propelled_ascent.states:gam_2 c 0.000000E+00 4.770257E-01 9.444444E-01
375 traj.propelled_ascent.states:gam_3 c 0.000000E+00 4.704726E-01 9.444444E-01
376 traj.propelled_ascent.states:gam_4 c 0.000000E+00 4.663584E-01 9.444444E-01
377 traj.propelled_ascent.states:gam_5 c 0.000000E+00 4.621277E-01 9.444444E-01
378 traj.propelled_ascent.states:gam_6 c 0.000000E+00 4.609797E-01 9.444444E-01
379 traj.propelled_ascent.states:gam_7 c 0.000000E+00 4.586634E-01 9.444444E-01
380 traj.propelled_ascent.states:gam_8 c 0.000000E+00 4.559549E-01 9.444444E-01
381 traj.propelled_ascent.states:gam_9 c 0.000000E+00 4.551840E-01 9.444444E-01
382 traj.propelled_ascent.states:gam_10 c 0.000000E+00 4.535527E-01 9.444444E-01
383 traj.propelled_ascent.states:gam_11 c 0.000000E+00 4.515478E-01 9.444444E-01
384 traj.propelled_ascent.states:gam_12 c 0.000000E+00 4.509615E-01 9.444444E-01
385 traj.propelled_ascent.states:gam_13 c 0.000000E+00 4.496955E-01 9.444444E-01
386 traj.propelled_ascent.states:gam_14 c 0.000000E+00 4.480977E-01 9.444444E-01
387 traj.propelled_ascent.states:gam_15 c 0.000000E+00 4.476229E-01 9.444444E-01
388 traj.propelled_ascent.states:gam_16 c 0.000000E+00 4.465855E-01 9.444444E-01
389 traj.propelled_ascent.states:gam_17 c 0.000000E+00 4.452548E-01 9.444444E-01
390 traj.propelled_ascent.states:gam_18 c 0.000000E+00 4.448552E-01 9.444444E-01
391 traj.propelled_ascent.states:gam_19 c 0.000000E+00 4.439754E-01 9.444444E-01
392 traj.propelled_ascent.states:gam_20 c 0.000000E+00 4.428346E-01 9.444444E-01
393 traj.propelled_ascent.states:gam_21 c 0.000000E+00 4.424895E-01 9.444444E-01
394 traj.propelled_ascent.states:gam_22 c 0.000000E+00 4.417257E-01 9.444444E-01
395 traj.propelled_ascent.states:gam_23 c 0.000000E+00 4.407276E-01 9.444444E-01
396 traj.propelled_ascent.states:gam_24 c 0.000000E+00 4.404241E-01 9.444444E-01
397 traj.propelled_ascent.states:gam_25 c 0.000000E+00 4.397497E-01 9.444444E-01
398 traj.propelled_ascent.states:gam_26 c 0.000000E+00 4.388635E-01 9.444444E-01
399 traj.propelled_ascent.states:gam_27 c 0.000000E+00 4.385929E-01 9.444444E-01
400 traj.propelled_ascent.states:gam_28 c 0.000000E+00 4.379900E-01 9.444444E-01
401 traj.propelled_ascent.states:gam_29 c 0.000000E+00 4.371943E-01 9.444444E-01
402 traj.propelled_ascent.states:gam_30 c 0.000000E+00 4.369506E-01 9.444444E-01
403 traj.propelled_ascent.states:gam_31 c 0.000000E+00 4.364065E-01 9.444444E-01
404 traj.propelled_ascent.states:gam_32 c 0.000000E+00 4.356860E-01 9.444444E-01
405 traj.propelled_ascent.states:gam_33 c 0.000000E+00 4.354648E-01 9.444444E-01
406 traj.propelled_ascent.states:gam_34 c 0.000000E+00 4.349702E-01 9.444444E-01
407 traj.propelled_ascent.states:gam_35 c 0.000000E+00 4.343135E-01 9.444444E-01
408 traj.propelled_ascent.states:gam_36 c 0.000000E+00 4.341116E-01 9.444444E-01
409 traj.propelled_ascent.states:gam_37 c 0.000000E+00 4.336595E-01 9.444444E-01
410 traj.propelled_ascent.states:gam_38 c 0.000000E+00 4.330580E-01 9.444444E-01
411 traj.propelled_ascent.states:gam_39 c 0.000000E+00 4.328728E-01 9.444444E-01
412 traj.propelled_ascent.states:gam_40 c 0.000000E+00 4.324578E-01 9.444444E-01
413 traj.propelled_ascent.states:gam_41 c 0.000000E+00 4.319049E-01 9.444444E-01
414 traj.propelled_ascent.states:gam_42 c 0.000000E+00 4.317345E-01 9.444444E-01
415 traj.propelled_ascent.states:gam_43 c 0.000000E+00 4.313523E-01 9.444444E-01
416 traj.propelled_ascent.states:gam_44 c 0.000000E+00 4.308427E-01 9.444444E-01
417 traj.propelled_ascent.states:gam_45 c 0.000000E+00 4.306856E-01 9.444444E-01
418 traj.propelled_ascent.states:gam_46 c 0.000000E+00 4.303330E-01 9.444444E-01
419 traj.propelled_ascent.states:gam_47 c 0.000000E+00 4.298627E-01 9.444444E-01
420 traj.propelled_ascent.states:gam_48 c 0.000000E+00 4.297176E-01 9.444444E-01
421 traj.propelled_ascent.states:gam_49 c 0.000000E+00 4.293920E-01 9.444444E-01
422 traj.propelled_ascent.states:gam_50 c 0.000000E+00 4.289577E-01 9.444444E-01
423 traj.propelled_ascent.states:gam_51 c 0.000000E+00 4.288237E-01 9.444444E-01
424 traj.propelled_ascent.states:gam_52 c 0.000000E+00 4.285231E-01 9.444444E-01
425 traj.propelled_ascent.states:gam_53 c 0.000000E+00 4.281221E-01 9.444444E-01
426 traj.propelled_ascent.states:gam_54 c 0.000000E+00 4.279985E-01 9.444444E-01
427 traj.propelled_ascent.states:gam_55 c 0.000000E+00 4.277213E-01 9.444444E-01
428 traj.propelled_ascent.states:gam_56 c 0.000000E+00 4.273520E-01 9.444444E-01
429 traj.propelled_ascent.states:gam_57 c 0.000000E+00 4.272382E-01 9.444444E-01
430 traj.propelled_ascent.states:gam_58 c 0.000000E+00 4.269833E-01 9.444444E-01
431 traj.propelled_ascent.states:gam_59 c 0.000000E+00 4.266442E-01 9.444444E-01
432 traj.propelled_ascent.states:gam_60 c 0.000000E+00 4.265399E-01 9.444444E-01
433 traj.propelled_ascent.states:v_0 c 1.000000E-04 7.672107E-03 1.000000E+19
434 traj.propelled_ascent.states:v_1 c 1.000000E-04 1.672431E-02 1.000000E+19
435 traj.propelled_ascent.states:v_2 c 1.000000E-04 1.955302E-02 1.000000E+19
436 traj.propelled_ascent.states:v_3 c 1.000000E-04 2.597644E-02 1.000000E+19
437 traj.propelled_ascent.states:v_4 c 1.000000E-04 3.472261E-02 1.000000E+19
438 traj.propelled_ascent.states:v_5 c 1.000000E-04 3.746552E-02 1.000000E+19
439 traj.propelled_ascent.states:v_6 c 1.000000E-04 4.370553E-02 1.000000E+19
440 traj.propelled_ascent.states:v_7 c 1.000000E-04 5.223242E-02 1.000000E+19
441 traj.propelled_ascent.states:v_8 c 1.000000E-04 5.491356E-02 1.000000E+19
442 traj.propelled_ascent.states:v_9 c 1.000000E-04 6.102522E-02 1.000000E+19
443 traj.propelled_ascent.states:v_10 c 1.000000E-04 6.940334E-02 1.000000E+19
444 traj.propelled_ascent.states:v_11 c 1.000000E-04 7.204388E-02 1.000000E+19
445 traj.propelled_ascent.states:v_12 c 1.000000E-04 7.807383E-02 1.000000E+19
446 traj.propelled_ascent.states:v_13 c 1.000000E-04 8.636392E-02 1.000000E+19
447 traj.propelled_ascent.states:v_14 c 1.000000E-04 8.898233E-02 1.000000E+19
448 traj.propelled_ascent.states:v_15 c 1.000000E-04 9.497173E-02 1.000000E+19
449 traj.propelled_ascent.states:v_16 c 1.000000E-04 1.032283E-01 1.000000E+19
450 traj.propelled_ascent.states:v_17 c 1.000000E-04 1.058414E-01 1.000000E+19
451 traj.propelled_ascent.states:v_18 c 1.000000E-04 1.118281E-01 1.000000E+19
452 traj.propelled_ascent.states:v_19 c 1.000000E-04 1.201024E-01 1.000000E+19
453 traj.propelled_ascent.states:v_20 c 1.000000E-04 1.227261E-01 1.000000E+19
454 traj.propelled_ascent.states:v_21 c 1.000000E-04 1.287465E-01 1.000000E+19
455 traj.propelled_ascent.states:v_22 c 1.000000E-04 1.370882E-01 1.000000E+19
456 traj.propelled_ascent.states:v_23 c 1.000000E-04 1.397385E-01 1.000000E+19
457 traj.propelled_ascent.states:v_24 c 1.000000E-04 1.458289E-01 1.000000E+19
458 traj.propelled_ascent.states:v_25 c 1.000000E-04 1.542889E-01 1.000000E+19
459 traj.propelled_ascent.states:v_26 c 1.000000E-04 1.569819E-01 1.000000E+19
460 traj.propelled_ascent.states:v_27 c 1.000000E-04 1.631801E-01 1.000000E+19
461 traj.propelled_ascent.states:v_28 c 1.000000E-04 1.718120E-01 1.000000E+19
462 traj.propelled_ascent.states:v_29 c 1.000000E-04 1.745653E-01 1.000000E+19
463 traj.propelled_ascent.states:v_30 c 1.000000E-04 1.809121E-01 1.000000E+19
464 traj.propelled_ascent.states:v_31 c 1.000000E-04 1.897748E-01 1.000000E+19
465 traj.propelled_ascent.states:v_32 c 1.000000E-04 1.926075E-01 1.000000E+19
466 traj.propelled_ascent.states:v_33 c 1.000000E-04 1.991486E-01 1.000000E+19
467 traj.propelled_ascent.states:v_34 c 1.000000E-04 2.083088E-01 1.000000E+19
468 traj.propelled_ascent.states:v_35 c 1.000000E-04 2.112431E-01 1.000000E+19
469 traj.propelled_ascent.states:v_36 c 1.000000E-04 2.180312E-01 1.000000E+19
470 traj.propelled_ascent.states:v_37 c 1.000000E-04 2.275671E-01 1.000000E+19
471 traj.propelled_ascent.states:v_38 c 1.000000E-04 2.306292E-01 1.000000E+19
472 traj.propelled_ascent.states:v_39 c 1.000000E-04 2.377271E-01 1.000000E+19
473 traj.propelled_ascent.states:v_40 c 1.000000E-04 2.477329E-01 1.000000E+19
474 traj.propelled_ascent.states:v_41 c 1.000000E-04 2.509547E-01 1.000000E+19
475 traj.propelled_ascent.states:v_42 c 1.000000E-04 2.584398E-01 1.000000E+19
476 traj.propelled_ascent.states:v_43 c 1.000000E-04 2.690329E-01 1.000000E+19
477 traj.propelled_ascent.states:v_44 c 1.000000E-04 2.724545E-01 1.000000E+19
478 traj.propelled_ascent.states:v_45 c 1.000000E-04 2.804248E-01 1.000000E+19
479 traj.propelled_ascent.states:v_46 c 1.000000E-04 2.917565E-01 1.000000E+19
480 traj.propelled_ascent.states:v_47 c 1.000000E-04 2.954301E-01 1.000000E+19
481 traj.propelled_ascent.states:v_48 c 1.000000E-04 3.040140E-01 1.000000E+19
482 traj.propelled_ascent.states:v_49 c 1.000000E-04 3.162854E-01 1.000000E+19
483 traj.propelled_ascent.states:v_50 c 1.000000E-04 3.202813E-01 1.000000E+19
484 traj.propelled_ascent.states:v_51 c 1.000000E-04 3.296537E-01 1.000000E+19
485 traj.propelled_ascent.states:v_52 c 1.000000E-04 3.431436E-01 1.000000E+19
486 traj.propelled_ascent.states:v_53 c 1.000000E-04 3.475604E-01 1.000000E+19
487 traj.propelled_ascent.states:v_54 c 1.000000E-04 3.579701E-01 1.000000E+19
488 traj.propelled_ascent.states:v_55 c 1.000000E-04 3.730835E-01 1.000000E+19
489 traj.propelled_ascent.states:v_56 c 1.000000E-04 3.780671E-01 1.000000E+19
490 traj.propelled_ascent.states:v_57 c 1.000000E-04 3.898870E-01 1.000000E+19
491 traj.propelled_ascent.states:v_58 c 1.000000E-04 4.072489E-01 1.000000E+19
492 traj.propelled_ascent.states:v_59 c 1.000000E-04 4.130291E-01 1.000000E+19
493 traj.propelled_ascent.states:p_0 c 1.020000E+00 6.305226E+00 1.000000E+21
494 traj.propelled_ascent.states:p_1 c 1.020000E+00 6.058536E+00 1.000000E+21
495 traj.propelled_ascent.states:p_2 c 1.020000E+00 5.985224E+00 1.000000E+21
496 traj.propelled_ascent.states:p_3 c 1.020000E+00 5.825217E+00 1.000000E+21
497 traj.propelled_ascent.states:p_4 c 1.020000E+00 5.620757E+00 1.000000E+21
498 traj.propelled_ascent.states:p_5 c 1.020000E+00 5.559612E+00 1.000000E+21
499 traj.propelled_ascent.states:p_6 c 1.020000E+00 5.425540E+00 1.000000E+21
500 traj.propelled_ascent.states:p_7 c 1.020000E+00 5.252980E+00 1.000000E+21
501 traj.propelled_ascent.states:p_8 c 1.020000E+00 5.201111E+00 1.000000E+21
502 traj.propelled_ascent.states:p_9 c 1.020000E+00 5.086938E+00 1.000000E+21
503 traj.propelled_ascent.states:p_10 c 1.020000E+00 4.939114E+00 1.000000E+21
504 traj.propelled_ascent.states:p_11 c 1.020000E+00 4.894489E+00 1.000000E+21
505 traj.propelled_ascent.states:p_12 c 1.020000E+00 4.795947E+00 1.000000E+21
506 traj.propelled_ascent.states:p_13 c 1.020000E+00 4.667720E+00 1.000000E+21
507 traj.propelled_ascent.states:p_14 c 1.020000E+00 4.628871E+00 1.000000E+21
508 traj.propelled_ascent.states:p_15 c 1.020000E+00 4.542850E+00 1.000000E+21
509 traj.propelled_ascent.states:p_16 c 1.020000E+00 4.430435E+00 1.000000E+21
510 traj.propelled_ascent.states:p_17 c 1.020000E+00 4.396270E+00 1.000000E+21
511 traj.propelled_ascent.states:p_18 c 1.020000E+00 4.320446E+00 1.000000E+21
512 traj.propelled_ascent.states:p_19 c 1.020000E+00 4.220990E+00 1.000000E+21
513 traj.propelled_ascent.states:p_20 c 1.020000E+00 4.190682E+00 1.000000E+21
514 traj.propelled_ascent.states:p_21 c 1.020000E+00 4.123281E+00 1.000000E+21
515 traj.propelled_ascent.states:p_22 c 1.020000E+00 4.034589E+00 1.000000E+21
516 traj.propelled_ascent.states:p_23 c 1.020000E+00 4.007498E+00 1.000000E+21
517 traj.propelled_ascent.states:p_24 c 1.020000E+00 3.947142E+00 1.000000E+21
518 traj.propelled_ascent.states:p_25 c 1.020000E+00 3.867497E+00 1.000000E+21
519 traj.propelled_ascent.states:p_26 c 1.020000E+00 3.843118E+00 1.000000E+21
520 traj.propelled_ascent.states:p_27 c 1.020000E+00 3.788721E+00 1.000000E+21
521 traj.propelled_ascent.states:p_28 c 1.020000E+00 3.716757E+00 1.000000E+21
522 traj.propelled_ascent.states:p_29 c 1.020000E+00 3.694690E+00 1.000000E+21
523 traj.propelled_ascent.states:p_30 c 1.020000E+00 3.645379E+00 1.000000E+21
524 traj.propelled_ascent.states:p_31 c 1.020000E+00 3.580000E+00 1.000000E+21
525 traj.propelled_ascent.states:p_32 c 1.020000E+00 3.559918E+00 1.000000E+21
526 traj.propelled_ascent.states:p_33 c 1.020000E+00 3.514988E+00 1.000000E+21
527 traj.propelled_ascent.states:p_34 c 1.020000E+00 3.455298E+00 1.000000E+21
528 traj.propelled_ascent.states:p_35 c 1.020000E+00 3.436936E+00 1.000000E+21
529 traj.propelled_ascent.states:p_36 c 1.020000E+00 3.395809E+00 1.000000E+21
530 traj.propelled_ascent.states:p_37 c 1.020000E+00 3.341071E+00 1.000000E+21
531 traj.propelled_ascent.states:p_38 c 1.020000E+00 3.324210E+00 1.000000E+21
532 traj.propelled_ascent.states:p_39 c 1.020000E+00 3.286405E+00 1.000000E+21
533 traj.propelled_ascent.states:p_40 c 1.020000E+00 3.236007E+00 1.000000E+21
534 traj.propelled_ascent.states:p_41 c 1.020000E+00 3.220464E+00 1.000000E+21
535 traj.propelled_ascent.states:p_42 c 1.020000E+00 3.185582E+00 1.000000E+21
536 traj.propelled_ascent.states:p_43 c 1.020000E+00 3.139009E+00 1.000000E+21
537 traj.propelled_ascent.states:p_44 c 1.020000E+00 3.124630E+00 1.000000E+21
538 traj.propelled_ascent.states:p_45 c 1.020000E+00 3.092332E+00 1.000000E+21
539 traj.propelled_ascent.states:p_46 c 1.020000E+00 3.049152E+00 1.000000E+21
540 traj.propelled_ascent.states:p_47 c 1.020000E+00 3.035806E+00 1.000000E+21
541 traj.propelled_ascent.states:p_48 c 1.020000E+00 3.005807E+00 1.000000E+21
542 traj.propelled_ascent.states:p_49 c 1.020000E+00 2.965648E+00 1.000000E+21
543 traj.propelled_ascent.states:p_50 c 1.020000E+00 2.953225E+00 1.000000E+21
544 traj.propelled_ascent.states:p_51 c 1.020000E+00 2.925280E+00 1.000000E+21
545 traj.propelled_ascent.states:p_52 c 1.020000E+00 2.887826E+00 1.000000E+21
546 traj.propelled_ascent.states:p_53 c 1.020000E+00 2.876230E+00 1.000000E+21
547 traj.propelled_ascent.states:p_54 c 1.020000E+00 2.850127E+00 1.000000E+21
548 traj.propelled_ascent.states:p_55 c 1.020000E+00 2.815106E+00 1.000000E+21
549 traj.propelled_ascent.states:p_56 c 1.020000E+00 2.804255E+00 1.000000E+21
550 traj.propelled_ascent.states:p_57 c 1.020000E+00 2.779812E+00 1.000000E+21
551 traj.propelled_ascent.states:p_58 c 1.020000E+00 2.746987E+00 1.000000E+21
552 traj.propelled_ascent.states:p_59 c 1.020000E+00 2.736808E+00 1.000000E+21
553 traj.propelled_ascent.states:V_w_0 c 0.000000E+00 1.027314E-01 1.000000E+20
554 traj.propelled_ascent.states:V_w_1 c 0.000000E+00 1.002340E-01 1.000000E+20
555 traj.propelled_ascent.states:V_w_2 c 0.000000E+00 9.685978E-02 1.000000E+20
556 traj.propelled_ascent.states:V_w_3 c 0.000000E+00 9.580827E-02 1.000000E+20
557 traj.propelled_ascent.states:V_w_4 c 0.000000E+00 9.342884E-02 1.000000E+20
558 traj.propelled_ascent.states:V_w_5 c 0.000000E+00 9.020771E-02 1.000000E+20
559 traj.propelled_ascent.states:V_w_6 c 0.000000E+00 8.920254E-02 1.000000E+20
560 traj.propelled_ascent.states:V_w_7 c 0.000000E+00 8.692563E-02 1.000000E+20
561 traj.propelled_ascent.states:V_w_8 c 0.000000E+00 8.383843E-02 1.000000E+20
562 traj.propelled_ascent.states:V_w_9 c 0.000000E+00 8.287395E-02 1.000000E+20
563 traj.propelled_ascent.states:V_w_10 c 0.000000E+00 8.068740E-02 1.000000E+20
564 traj.propelled_ascent.states:V_w_11 c 0.000000E+00 7.771881E-02 1.000000E+20
565 traj.propelled_ascent.states:V_w_12 c 0.000000E+00 7.679051E-02 1.000000E+20
566 traj.propelled_ascent.states:V_w_13 c 0.000000E+00 7.468451E-02 1.000000E+20
567 traj.propelled_ascent.states:V_w_14 c 0.000000E+00 7.182212E-02 1.000000E+20
568 traj.propelled_ascent.states:V_w_15 c 0.000000E+00 7.092632E-02 1.000000E+20
569 traj.propelled_ascent.states:V_w_16 c 0.000000E+00 6.889281E-02 1.000000E+20
570 traj.propelled_ascent.states:V_w_17 c 0.000000E+00 6.612636E-02 1.000000E+20
571 traj.propelled_ascent.states:V_w_18 c 0.000000E+00 6.525999E-02 1.000000E+20
572 traj.propelled_ascent.states:V_w_19 c 0.000000E+00 6.329228E-02 1.000000E+20
573 traj.propelled_ascent.states:V_w_20 c 0.000000E+00 6.061316E-02 1.000000E+20
574 traj.propelled_ascent.states:V_w_21 c 0.000000E+00 5.977365E-02 1.000000E+20
575 traj.propelled_ascent.states:V_w_22 c 0.000000E+00 5.786608E-02 1.000000E+20
576 traj.propelled_ascent.states:V_w_23 c 0.000000E+00 5.526699E-02 1.000000E+20
577 traj.propelled_ascent.states:V_w_24 c 0.000000E+00 5.445213E-02 1.000000E+20
578 traj.propelled_ascent.states:V_w_25 c 0.000000E+00 5.259986E-02 1.000000E+20
579 traj.propelled_ascent.states:V_w_26 c 0.000000E+00 5.007455E-02 1.000000E+20
580 traj.propelled_ascent.states:V_w_27 c 0.000000E+00 4.928246E-02 1.000000E+20
581 traj.propelled_ascent.states:V_w_28 c 0.000000E+00 4.748132E-02 1.000000E+20
582 traj.propelled_ascent.states:V_w_29 c 0.000000E+00 4.502435E-02 1.000000E+20
583 traj.propelled_ascent.states:V_w_30 c 0.000000E+00 4.425338E-02 1.000000E+20
584 traj.propelled_ascent.states:V_w_31 c 0.000000E+00 4.249974E-02 1.000000E+20
585 traj.propelled_ascent.states:V_w_32 c 0.000000E+00 4.010638E-02 1.000000E+20
586 traj.propelled_ascent.states:V_w_33 c 0.000000E+00 3.935510E-02 1.000000E+20
587 traj.propelled_ascent.states:V_w_34 c 0.000000E+00 3.764576E-02 1.000000E+20
588 traj.propelled_ascent.states:V_w_35 c 0.000000E+00 3.531184E-02 1.000000E+20
589 traj.propelled_ascent.states:V_w_36 c 0.000000E+00 3.457898E-02 1.000000E+20
590 traj.propelled_ascent.states:V_w_37 c 0.000000E+00 3.291114E-02 1.000000E+20
591 traj.propelled_ascent.states:V_w_38 c 0.000000E+00 3.063296E-02 1.000000E+20
592 traj.propelled_ascent.states:V_w_39 c 0.000000E+00 2.991740E-02 1.000000E+20
593 traj.propelled_ascent.states:V_w_40 c 0.000000E+00 2.828854E-02 1.000000E+20
594 traj.propelled_ascent.states:V_w_41 c 0.000000E+00 2.606282E-02 1.000000E+20
595 traj.propelled_ascent.states:V_w_42 c 0.000000E+00 2.536354E-02 1.000000E+20
596 traj.propelled_ascent.states:V_w_43 c 0.000000E+00 2.377144E-02 1.000000E+20
597 traj.propelled_ascent.states:V_w_44 c 0.000000E+00 2.159522E-02 1.000000E+20
598 traj.propelled_ascent.states:V_w_45 c 0.000000E+00 2.091133E-02 1.000000E+20
599 traj.propelled_ascent.states:V_w_46 c 0.000000E+00 1.935397E-02 1.000000E+20
600 traj.propelled_ascent.states:V_w_47 c 0.000000E+00 1.722459E-02 1.000000E+20
601 traj.propelled_ascent.states:V_w_48 c 0.000000E+00 1.655528E-02 1.000000E+20
602 traj.propelled_ascent.states:V_w_49 c 0.000000E+00 1.503084E-02 1.000000E+20
603 traj.propelled_ascent.states:V_w_50 c 0.000000E+00 1.294591E-02 1.000000E+20
604 traj.propelled_ascent.states:V_w_51 c 0.000000E+00 1.229042E-02 1.000000E+20
605 traj.propelled_ascent.states:V_w_52 c 0.000000E+00 1.079726E-02 1.000000E+20
606 traj.propelled_ascent.states:V_w_53 c 0.000000E+00 8.754589E-03 1.000000E+20
607 traj.propelled_ascent.states:V_w_54 c 0.000000E+00 8.112271E-03 1.000000E+20
608 traj.propelled_ascent.states:V_w_55 c 0.000000E+00 6.648883E-03 1.000000E+20
609 traj.propelled_ascent.states:V_w_56 c 0.000000E+00 4.646480E-03 1.000000E+20
610 traj.propelled_ascent.states:V_w_57 c 0.000000E+00 4.016715E-03 1.000000E+20
611 traj.propelled_ascent.states:V_w_58 c 0.000000E+00 2.581733E-03 1.000000E+20
612 traj.propelled_ascent.states:V_w_59 c 0.000000E+00 6.177737E-04 1.000000E+20
Constraints (i - inequality, e - equality)
Index Name Type Lower Value Upper Status Lagrange Multiplier
0 traj.linkages.propelled_ascent:time_final|ballistic_ascent:time_initial e 0.000000E+00 0.000000E+00 0.000000E+00 -6.07447E-11
1 traj.linkages.propelled_ascent:r_final|ballistic_ascent:r_initial e 0.000000E+00 0.000000E+00 0.000000E+00 -1.00000E+00
2 traj.linkages.propelled_ascent:h_final|ballistic_ascent:h_initial e 0.000000E+00 0.000000E+00 0.000000E+00 -6.78563E-01
3 traj.linkages.propelled_ascent:gam_final|ballistic_ascent:gam_initial e 0.000000E+00 0.000000E+00 0.000000E+00 -3.55552E-02
4 traj.linkages.propelled_ascent:v_final|ballistic_ascent:v_initial e 0.000000E+00 0.000000E+00 0.000000E+00 -2.15605E+00
5 traj.linkages.ballistic_ascent:time_final|descent:time_initial e 0.000000E+00 0.000000E+00 0.000000E+00 2.26728E-11
6 traj.linkages.ballistic_ascent:r_final|descent:r_initial e 0.000000E+00 0.000000E+00 0.000000E+00 -1.00000E+00
7 traj.linkages.ballistic_ascent:h_final|descent:h_initial e 0.000000E+00 0.000000E+00 0.000000E+00 -6.75353E-01
8 traj.linkages.ballistic_ascent:gam_final|descent:gam_initial e 0.000000E+00 9.979300E-32 0.000000E+00 -4.49786E-01
9 traj.linkages.ballistic_ascent:v_final|descent:v_initial e 0.000000E+00 0.000000E+00 0.000000E+00 -1.67877E+00
10 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 0.000000E+00 0.000000E+00 2.22222E-01
11 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 1.027785E-15 0.000000E+00 1.02497E+00
12 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 -1.370380E-15 0.000000E+00 7.52806E-01
13 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 -1.062045E-14 0.000000E+00 2.22222E-01
14 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 3.425951E-15 0.000000E+00 1.02497E+00
15 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 1.027785E-15 0.000000E+00 7.52806E-01
16 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 -6.851902E-16 0.000000E+00 2.22222E-01
17 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 -3.425951E-16 0.000000E+00 1.02497E+00
18 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 7.879688E-15 0.000000E+00 7.52806E-01
19 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 -3.083356E-15 0.000000E+00 2.22222E-01
20 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 6.166712E-15 0.000000E+00 1.02497E+00
21 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 3.083356E-15 0.000000E+00 7.52806E-01
22 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 -6.851902E-15 0.000000E+00 2.22222E-01
23 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 8.222283E-15 0.000000E+00 1.02497E+00
24 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 -1.781495E-14 0.000000E+00 7.52806E-01
25 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 -3.425951E-16 0.000000E+00 2.22222E-01
26 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 -5.481522E-15 0.000000E+00 1.02497E+00
27 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 1.370380E-15 0.000000E+00 7.52806E-01
28 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 2.398166E-15 0.000000E+00 2.22222E-01
29 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 -9.935258E-15 0.000000E+00 1.02497E+00
30 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 1.233342E-14 0.000000E+00 7.52806E-01
31 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 -1.850014E-14 0.000000E+00 2.22222E-01
32 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 1.096304E-14 0.000000E+00 1.02497E+00
33 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 -1.301861E-14 0.000000E+00 7.52806E-01
34 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 3.528730E-14 0.000000E+00 2.22222E-01
35 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 -1.712976E-15 0.000000E+00 1.02497E+00
36 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 -1.918533E-14 0.000000E+00 7.52806E-01
37 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 3.700027E-14 0.000000E+00 2.22222E-01
38 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 1.712976E-15 0.000000E+00 1.02497E+00
39 traj.ballistic_ascent.collocation_constraint.defects:r e 0.000000E+00 7.194497E-15 0.000000E+00 7.52806E-01
40 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 3.425951E-15 0.000000E+00 1.50792E-01
41 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 -1.370380E-15 0.000000E+00 6.95271E-01
42 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 -3.425951E-16 0.000000E+00 5.10428E-01
43 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 2.055571E-15 0.000000E+00 1.50654E-01
44 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 -6.851902E-16 0.000000E+00 6.94673E-01
45 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 3.083356E-15 0.000000E+00 5.10024E-01
46 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 4.111141E-15 0.000000E+00 1.50538E-01
47 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 -3.425951E-16 0.000000E+00 6.94168E-01
48 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 3.083356E-15 0.000000E+00 5.09682E-01
49 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 -6.851902E-16 0.000000E+00 1.50440E-01
50 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 2.055571E-15 0.000000E+00 6.93741E-01
51 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 -5.310224E-15 0.000000E+00 5.09393E-01
52 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 -6.851902E-15 0.000000E+00 1.50357E-01
53 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 1.884273E-15 0.000000E+00 6.93381E-01
54 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 -3.425951E-15 0.000000E+00 5.09151E-01
55 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 1.096304E-14 0.000000E+00 1.50287E-01
56 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 -3.939844E-15 0.000000E+00 6.93080E-01
57 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 8.564878E-16 0.000000E+00 5.08948E-01
58 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 -1.062045E-14 0.000000E+00 1.50229E-01
59 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 -4.881980E-15 0.000000E+00 6.92828E-01
60 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 -3.768546E-15 0.000000E+00 5.08779E-01
61 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 4.368088E-15 0.000000E+00 1.50180E-01
62 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 2.912058E-15 0.000000E+00 6.92617E-01
63 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 5.310224E-15 0.000000E+00 5.08637E-01
64 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 1.623044E-14 0.000000E+00 1.50140E-01
65 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 -4.710683E-15 0.000000E+00 6.92442E-01
66 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 7.023200E-15 0.000000E+00 5.08520E-01
67 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 -1.149835E-14 0.000000E+00 1.50106E-01
68 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 -4.496561E-15 0.000000E+00 6.92298E-01
69 traj.ballistic_ascent.collocation_constraint.defects:h e 0.000000E+00 9.153713E-16 0.000000E+00 5.08423E-01
70 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 6.299944E-16 0.000000E+00 7.11155E-01
71 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 -9.516531E-18 0.000000E+00 5.45101E+00
72 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 2.588496E-16 0.000000E+00 6.13573E+00
73 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 9.326200E-17 0.000000E+00 2.00558E+00
74 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 -2.854959E-17 0.000000E+00 1.12634E+01
75 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 5.138927E-17 0.000000E+00 1.02455E+01
76 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 5.709919E-17 0.000000E+00 3.20388E+00
77 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 -7.613225E-18 0.000000E+00 1.66340E+01
78 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 2.188802E-16 0.000000E+00 1.40306E+01
79 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 2.569463E-16 0.000000E+00 4.30626E+00
80 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 -1.141984E-17 0.000000E+00 2.15598E+01
81 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 -8.374547E-17 0.000000E+00 1.74854E+01
82 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 2.283967E-17 0.000000E+00 5.31066E+00
83 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 4.948596E-17 0.000000E+00 2.60284E+01
84 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 -4.948596E-17 0.000000E+00 2.05979E+01
85 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 1.370380E-16 0.000000E+00 6.21337E+00
86 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 3.045290E-17 0.000000E+00 3.00202E+01
87 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 3.806612E-17 0.000000E+00 2.33517E+01
88 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 1.027785E-16 0.000000E+00 7.00932E+00
89 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 -2.283967E-17 0.000000E+00 3.35102E+01
90 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 -7.232564E-17 0.000000E+00 2.57267E+01
91 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 1.522645E-17 0.000000E+00 7.69248E+00
92 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 -1.903306E-17 0.000000E+00 3.64691E+01
93 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 0.000000E+00 0.000000E+00 2.77003E+01
94 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 -3.425951E-17 0.000000E+00 8.25610E+00
95 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 7.613225E-18 0.000000E+00 3.88650E+01
96 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 1.903306E-17 0.000000E+00 2.92484E+01
97 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 -1.903306E-17 0.000000E+00 8.69295E+00
98 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 -3.806612E-18 0.000000E+00 4.06641E+01
99 traj.ballistic_ascent.collocation_constraint.defects:gam e 0.000000E+00 0.000000E+00 0.000000E+00 3.03458E+01
100 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 -1.370380E-15 0.000000E+00 4.79114E-01
101 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 6.166712E-15 0.000000E+00 2.24635E+00
102 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 -1.370380E-14 0.000000E+00 1.68285E+00
103 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 2.843539E-14 0.000000E+00 4.99550E-01
104 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 -1.062045E-14 0.000000E+00 2.33118E+00
105 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 4.453737E-15 0.000000E+00 1.73522E+00
106 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 5.824117E-15 0.000000E+00 5.14057E-01
107 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 -1.541678E-15 0.000000E+00 2.38780E+00
108 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 -6.338010E-15 0.000000E+00 1.76603E+00
109 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 -3.939844E-15 0.000000E+00 5.22117E-01
110 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 1.027785E-15 0.000000E+00 2.41386E+00
111 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 -1.199083E-15 0.000000E+00 1.77357E+00
112 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 1.541678E-15 0.000000E+00 5.23239E-01
113 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 5.138927E-15 0.000000E+00 2.40716E+00
114 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 0.000000E+00 0.000000E+00 1.75635E+00
115 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 3.254654E-15 0.000000E+00 5.16990E-01
116 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 -9.250068E-15 0.000000E+00 2.36585E+00
117 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 -7.365795E-15 0.000000E+00 1.71320E+00
118 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 2.740761E-15 0.000000E+00 5.03050E-01
119 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 2.569463E-15 0.000000E+00 2.28872E+00
120 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 0.000000E+00 0.000000E+00 1.64357E+00
121 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 1.550243E-14 0.000000E+00 4.81294E-01
122 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 -1.284732E-15 0.000000E+00 2.17563E+00
123 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 2.569463E-16 0.000000E+00 1.54789E+00
124 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 -1.190518E-14 0.000000E+00 4.51897E-01
125 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 7.023200E-15 0.000000E+00 2.02802E+00
126 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 5.053278E-15 0.000000E+00 1.42792E+00
127 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 -5.138927E-16 0.000000E+00 4.15460E-01
128 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 4.282439E-15 0.000000E+00 1.84948E+00
129 traj.ballistic_ascent.collocation_constraint.defects:v e 0.000000E+00 -7.280146E-15 0.000000E+00 1.28717E+00
130 traj.descent.collocation_constraint.defects:r e 0.000000E+00 -1.653834E-15 0.000000E+00 2.22222E-01
131 traj.descent.collocation_constraint.defects:r e 0.000000E+00 -1.488450E-14 0.000000E+00 1.02497E+00
132 traj.descent.collocation_constraint.defects:r e 0.000000E+00 6.201877E-15 0.000000E+00 7.52806E-01
133 traj.descent.collocation_constraint.defects:r e 0.000000E+00 -3.224976E-14 0.000000E+00 2.22222E-01
134 traj.descent.collocation_constraint.defects:r e 0.000000E+00 9.923002E-15 0.000000E+00 1.02497E+00
135 traj.descent.collocation_constraint.defects:r e 0.000000E+00 -1.281721E-14 0.000000E+00 7.52806E-01
136 traj.descent.collocation_constraint.defects:r e 0.000000E+00 6.615335E-15 0.000000E+00 2.22222E-01
137 traj.descent.collocation_constraint.defects:r e 0.000000E+00 -4.961501E-15 0.000000E+00 1.02497E+00
138 traj.descent.collocation_constraint.defects:r e 0.000000E+00 1.116338E-14 0.000000E+00 7.52806E-01
139 traj.descent.collocation_constraint.defects:r e 0.000000E+00 -3.183630E-14 0.000000E+00 2.22222E-01
140 traj.descent.collocation_constraint.defects:r e 0.000000E+00 4.548043E-15 0.000000E+00 1.02497E+00
141 traj.descent.collocation_constraint.defects:r e 0.000000E+00 -2.976901E-14 0.000000E+00 7.52806E-01
142 traj.descent.collocation_constraint.defects:r e 0.000000E+00 4.837464E-14 0.000000E+00 2.22222E-01
143 traj.descent.collocation_constraint.defects:r e 0.000000E+00 -1.240375E-14 0.000000E+00 1.02497E+00
144 traj.descent.collocation_constraint.defects:r e 0.000000E+00 1.467777E-14 0.000000E+00 7.52806E-01
145 traj.descent.collocation_constraint.defects:r e 0.000000E+00 1.674507E-14 0.000000E+00 2.22222E-01
146 traj.descent.collocation_constraint.defects:r e 0.000000E+00 -3.080265E-14 0.000000E+00 1.02497E+00
147 traj.descent.collocation_constraint.defects:r e 0.000000E+00 2.563442E-14 0.000000E+00 7.52806E-01
148 traj.descent.collocation_constraint.defects:r e 0.000000E+00 -3.659107E-14 0.000000E+00 2.22222E-01
149 traj.descent.collocation_constraint.defects:r e 0.000000E+00 -1.674507E-14 0.000000E+00 1.02497E+00
150 traj.descent.collocation_constraint.defects:r e 0.000000E+00 6.201877E-16 0.000000E+00 7.52806E-01
151 traj.descent.collocation_constraint.defects:r e 0.000000E+00 1.302394E-14 0.000000E+00 2.22222E-01
152 traj.descent.collocation_constraint.defects:r e 0.000000E+00 -3.576415E-14 0.000000E+00 1.02497E+00
153 traj.descent.collocation_constraint.defects:r e 0.000000E+00 7.648981E-15 0.000000E+00 7.52806E-01
154 traj.descent.collocation_constraint.defects:r e 0.000000E+00 -1.385086E-14 0.000000E+00 2.22222E-01
155 traj.descent.collocation_constraint.defects:r e 0.000000E+00 1.488450E-14 0.000000E+00 1.02497E+00
156 traj.descent.collocation_constraint.defects:r e 0.000000E+00 -9.302815E-15 0.000000E+00 7.52806E-01
157 traj.descent.collocation_constraint.defects:r e 0.000000E+00 -5.333614E-14 0.000000E+00 2.22222E-01
158 traj.descent.collocation_constraint.defects:r e 0.000000E+00 3.721126E-15 0.000000E+00 1.02497E+00
159 traj.descent.collocation_constraint.defects:r e 0.000000E+00 -2.315367E-14 0.000000E+00 7.52806E-01
160 traj.descent.collocation_constraint.defects:h e 0.000000E+00 7.105427E-15 0.000000E+00 1.50078E-01
161 traj.descent.collocation_constraint.defects:h e 0.000000E+00 -9.147768E-15 0.000000E+00 6.92170E-01
162 traj.descent.collocation_constraint.defects:h e 0.000000E+00 7.416411E-15 0.000000E+00 5.08331E-01
163 traj.descent.collocation_constraint.defects:h e 0.000000E+00 1.038814E-14 0.000000E+00 1.50051E-01
164 traj.descent.collocation_constraint.defects:h e 0.000000E+00 -5.633371E-15 0.000000E+00 6.92055E-01
165 traj.descent.collocation_constraint.defects:h e 0.000000E+00 -6.615335E-15 0.000000E+00 5.08256E-01
166 traj.descent.collocation_constraint.defects:h e 0.000000E+00 7.752346E-15 0.000000E+00 1.50030E-01
167 traj.descent.collocation_constraint.defects:h e 0.000000E+00 -3.100938E-15 0.000000E+00 6.91965E-01
168 traj.descent.collocation_constraint.defects:h e 0.000000E+00 -5.374960E-15 0.000000E+00 5.08198E-01
169 traj.descent.collocation_constraint.defects:h e 0.000000E+00 8.269169E-16 0.000000E+00 1.50014E-01
170 traj.descent.collocation_constraint.defects:h e 0.000000E+00 2.274021E-15 0.000000E+00 6.91896E-01
171 traj.descent.collocation_constraint.defects:h e 0.000000E+00 -2.894209E-15 0.000000E+00 5.08153E-01
172 traj.descent.collocation_constraint.defects:h e 0.000000E+00 8.062439E-15 0.000000E+00 1.50001E-01
173 traj.descent.collocation_constraint.defects:h e 0.000000E+00 -1.447105E-15 0.000000E+00 6.91844E-01
174 traj.descent.collocation_constraint.defects:h e 0.000000E+00 1.240375E-15 0.000000E+00 5.08120E-01
175 traj.descent.collocation_constraint.defects:h e 0.000000E+00 8.269169E-15 0.000000E+00 1.49992E-01
176 traj.descent.collocation_constraint.defects:h e 0.000000E+00 1.240375E-15 0.000000E+00 6.91806E-01
177 traj.descent.collocation_constraint.defects:h e 0.000000E+00 -2.894209E-15 0.000000E+00 5.08098E-01
178 traj.descent.collocation_constraint.defects:h e 0.000000E+00 -1.447105E-15 0.000000E+00 1.49985E-01
179 traj.descent.collocation_constraint.defects:h e 0.000000E+00 1.653834E-15 0.000000E+00 6.91781E-01
180 traj.descent.collocation_constraint.defects:h e 0.000000E+00 8.269169E-16 0.000000E+00 5.08083E-01
181 traj.descent.collocation_constraint.defects:h e 0.000000E+00 1.860563E-15 0.000000E+00 1.49981E-01
182 traj.descent.collocation_constraint.defects:h e 0.000000E+00 -4.134584E-16 0.000000E+00 6.91766E-01
183 traj.descent.collocation_constraint.defects:h e 0.000000E+00 -2.894209E-15 0.000000E+00 5.08075E-01
184 traj.descent.collocation_constraint.defects:h e 0.000000E+00 2.480751E-15 0.000000E+00 1.49979E-01
185 traj.descent.collocation_constraint.defects:h e 0.000000E+00 -8.269169E-16 0.000000E+00 6.91758E-01
186 traj.descent.collocation_constraint.defects:h e 0.000000E+00 -1.653834E-15 0.000000E+00 5.08071E-01
187 traj.descent.collocation_constraint.defects:h e 0.000000E+00 -4.134584E-16 0.000000E+00 1.49978E-01
188 traj.descent.collocation_constraint.defects:h e 0.000000E+00 4.134584E-16 0.000000E+00 6.91756E-01
189 traj.descent.collocation_constraint.defects:h e 0.000000E+00 0.000000E+00 0.000000E+00 5.08071E-01
190 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 2.894209E-15 0.000000E+00 9.99506E-02
191 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 -8.269169E-16 0.000000E+00 4.65469E-01
192 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 4.134584E-16 0.000000E+00 3.44729E-01
193 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 4.548043E-15 0.000000E+00 1.01908E-01
194 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 -2.480751E-15 0.000000E+00 4.70592E-01
195 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 -1.240375E-15 0.000000E+00 3.44444E-01
196 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 -7.855710E-15 0.000000E+00 1.01440E-01
197 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 -9.096086E-15 0.000000E+00 4.64319E-01
198 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 2.894209E-15 0.000000E+00 3.35591E-01
199 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 -1.447105E-14 0.000000E+00 9.84244E-02
200 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 8.269169E-16 0.000000E+00 4.46122E-01
201 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 7.442252E-15 0.000000E+00 3.17816E-01
202 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 -1.984600E-14 0.000000E+00 9.27610E-02
203 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 8.269169E-15 0.000000E+00 4.15569E-01
204 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 5.374960E-15 0.000000E+00 2.90837E-01
205 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 -4.961501E-15 0.000000E+00 8.43699E-02
206 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 -5.788418E-15 0.000000E+00 3.72328E-01
207 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 3.721126E-15 0.000000E+00 2.54447E-01
208 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 -7.855710E-15 0.000000E+00 7.31929E-02
209 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 6.201877E-15 0.000000E+00 3.16164E-01
210 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 7.442252E-15 0.000000E+00 2.08501E-01
211 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 7.028793E-15 0.000000E+00 5.91901E-02
212 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 -7.028793E-15 0.000000E+00 2.46918E-01
213 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 -4.134584E-15 0.000000E+00 1.52905E-01
214 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 -3.597088E-14 0.000000E+00 4.23351E-02
215 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 -3.721126E-15 0.000000E+00 1.64484E-01
216 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 -7.855710E-15 0.000000E+00 8.75945E-02
217 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 -1.736525E-14 0.000000E+00 2.26099E-02
218 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 -4.134584E-16 0.000000E+00 6.87873E-02
219 traj.descent.collocation_constraint.defects:gam e 0.000000E+00 -2.212003E-14 0.000000E+00 1.25183E-02
220 traj.descent.collocation_constraint.defects:v e 0.000000E+00 -2.532433E-15 0.000000E+00 3.73122E-01
221 traj.descent.collocation_constraint.defects:v e 0.000000E+00 5.064866E-15 0.000000E+00 1.63027E+00
222 traj.descent.collocation_constraint.defects:v e 0.000000E+00 -1.550469E-16 0.000000E+00 1.10256E+00
223 traj.descent.collocation_constraint.defects:v e 0.000000E+00 5.581689E-15 0.000000E+00 3.16468E-01
224 traj.descent.collocation_constraint.defects:v e 0.000000E+00 -3.049256E-15 0.000000E+00 1.36266E+00
225 traj.descent.collocation_constraint.defects:v e 0.000000E+00 3.204303E-15 0.000000E+00 9.02392E-01
226 traj.descent.collocation_constraint.defects:v e 0.000000E+00 -1.059487E-14 0.000000E+00 2.57234E-01
227 traj.descent.collocation_constraint.defects:v e 0.000000E+00 -1.078868E-15 0.000000E+00 1.08968E+00
228 traj.descent.collocation_constraint.defects:v e 0.000000E+00 5.405646E-15 0.000000E+00 7.04753E-01
229 traj.descent.collocation_constraint.defects:v e 0.000000E+00 -4.980882E-15 0.000000E+00 1.99330E-01
230 traj.descent.collocation_constraint.defects:v e 0.000000E+00 3.669444E-15 0.000000E+00 8.28927E-01
231 traj.descent.collocation_constraint.defects:v e 0.000000E+00 -2.842527E-16 0.000000E+00 5.21689E-01
232 traj.descent.collocation_constraint.defects:v e 0.000000E+00 -2.429068E-15 0.000000E+00 1.46206E-01
233 traj.descent.collocation_constraint.defects:v e 0.000000E+00 3.333509E-15 0.000000E+00 5.94850E-01
234 traj.descent.collocation_constraint.defects:v e 0.000000E+00 -2.713321E-15 0.000000E+00 3.62101E-01
235 traj.descent.collocation_constraint.defects:v e 0.000000E+00 9.819638E-16 0.000000E+00 1.00321E-01
236 traj.descent.collocation_constraint.defects:v e 0.000000E+00 -1.343740E-15 0.000000E+00 3.96887E-01
237 traj.descent.collocation_constraint.defects:v e 0.000000E+00 7.390570E-15 0.000000E+00 2.31061E-01
238 traj.descent.collocation_constraint.defects:v e 0.000000E+00 -8.114122E-15 0.000000E+00 6.30043E-02
239 traj.descent.collocation_constraint.defects:v e 0.000000E+00 4.392996E-15 0.000000E+00 2.39474E-01
240 traj.descent.collocation_constraint.defects:v e 0.000000E+00 6.460288E-15 0.000000E+00 1.30319E-01
241 traj.descent.collocation_constraint.defects:v e 0.000000E+00 -4.289631E-15 0.000000E+00 3.46485E-02
242 traj.descent.collocation_constraint.defects:v e 0.000000E+00 3.927855E-15 0.000000E+00 1.23241E-01
243 traj.descent.collocation_constraint.defects:v e 0.000000E+00 -6.356923E-15 0.000000E+00 5.93918E-02
244 traj.descent.collocation_constraint.defects:v e 0.000000E+00 2.635798E-15 0.000000E+00 1.50377E-02
245 traj.descent.collocation_constraint.defects:v e 0.000000E+00 -2.325704E-15 0.000000E+00 4.65860E-02
246 traj.descent.collocation_constraint.defects:v e 0.000000E+00 -2.584115E-16 0.000000E+00 1.66760E-02
247 traj.descent.collocation_constraint.defects:v e 0.000000E+00 1.550469E-16 0.000000E+00 3.67076E-03
248 traj.descent.collocation_constraint.defects:v e 0.000000E+00 -2.687480E-15 0.000000E+00 7.01995E-03
249 traj.descent.collocation_constraint.defects:v e 0.000000E+00 -2.842527E-15 0.000000E+00 2.89447E-04
250 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 1.955657E-21 0.000000E+00 2.22222E+01
251 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -1.877430E-20 0.000000E+00 1.02497E+02
252 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -6.258101E-21 0.000000E+00 7.52806E+01
253 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 3.754861E-20 0.000000E+00 2.22222E+01
254 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -3.129050E-20 0.000000E+00 1.02497E+02
255 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 5.006481E-20 0.000000E+00 7.52806E+01
256 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -2.127754E-19 0.000000E+00 2.22222E+01
257 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 1.376782E-19 0.000000E+00 1.02497E+02
258 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -1.126458E-19 0.000000E+00 7.52806E+01
259 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -7.760045E-19 0.000000E+00 2.22222E+01
260 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 2.753564E-19 0.000000E+00 1.02497E+02
261 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -1.251620E-19 0.000000E+00 7.52806E+01
262 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -7.009073E-19 0.000000E+00 2.22222E+01
263 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 2.252916E-19 0.000000E+00 1.02497E+02
264 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -1.501944E-19 0.000000E+00 7.52806E+01
265 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 2.503240E-19 0.000000E+00 2.22222E+01
266 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -7.509721E-20 0.000000E+00 1.02497E+02
267 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -3.003888E-19 0.000000E+00 7.52806E+01
268 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 1.251620E-18 0.000000E+00 2.22222E+01
269 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -4.005185E-19 0.000000E+00 1.02497E+02
270 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 6.508425E-19 0.000000E+00 7.52806E+01
271 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -4.505833E-19 0.000000E+00 2.22222E+01
272 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -4.005185E-19 0.000000E+00 1.02497E+02
273 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 1.201555E-18 0.000000E+00 7.52806E+01
274 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -2.503240E-19 0.000000E+00 2.22222E+01
275 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -8.010369E-19 0.000000E+00 1.02497E+02
276 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 7.009073E-19 0.000000E+00 7.52806E+01
277 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 3.854990E-18 0.000000E+00 2.22222E+01
278 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -1.301685E-18 0.000000E+00 1.02497E+02
279 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 2.503240E-19 0.000000E+00 7.52806E+01
280 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 2.603370E-18 0.000000E+00 2.22222E+01
281 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 9.011665E-19 0.000000E+00 1.02497E+02
282 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 8.010369E-19 0.000000E+00 7.52806E+01
283 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 5.006481E-20 0.000000E+00 2.22222E+01
284 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -1.201555E-18 0.000000E+00 1.02497E+02
285 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 3.003888E-19 0.000000E+00 7.52806E+01
286 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -3.504536E-18 0.000000E+00 2.22222E+01
287 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 1.201555E-18 0.000000E+00 1.02497E+02
288 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 2.503240E-18 0.000000E+00 7.52806E+01
289 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 1.702203E-18 0.000000E+00 2.22222E+01
290 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -2.603370E-18 0.000000E+00 1.02497E+02
291 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 9.011665E-19 0.000000E+00 7.52806E+01
292 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 3.604666E-18 0.000000E+00 2.22222E+01
293 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -1.702203E-18 0.000000E+00 1.02497E+02
294 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -6.007777E-19 0.000000E+00 7.52806E+01
295 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 1.702203E-18 0.000000E+00 2.22222E+01
296 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -6.007777E-19 0.000000E+00 1.02497E+02
297 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -2.803629E-18 0.000000E+00 7.52806E+01
298 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 3.104018E-18 0.000000E+00 2.22222E+01
299 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 2.002592E-18 0.000000E+00 1.02497E+02
300 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -4.305573E-18 0.000000E+00 7.52806E+01
301 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 6.208036E-18 0.000000E+00 2.22222E+01
302 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 2.703500E-18 0.000000E+00 1.02497E+02
303 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 3.304277E-18 0.000000E+00 7.52806E+01
304 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -2.803629E-18 0.000000E+00 2.22222E+01
305 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -5.807518E-18 0.000000E+00 1.02497E+02
306 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 2.703500E-18 0.000000E+00 7.52806E+01
307 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -4.405703E-18 0.000000E+00 2.22222E+01
308 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 -2.603370E-18 0.000000E+00 1.02497E+02
309 traj.propelled_ascent.collocation_constraint.defects:r e 0.000000E+00 2.403111E-18 0.000000E+00 7.52806E+01
310 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 3.911313E-20 0.000000E+00 1.51304E+00
311 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 0.000000E+00 0.000000E+00 6.97859E+00
312 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 0.000000E+00 0.000000E+00 5.12540E+00
313 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -1.126458E-18 0.000000E+00 1.51296E+00
314 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 1.877430E-19 0.000000E+00 6.97821E+00
315 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -3.754861E-19 0.000000E+00 5.12510E+00
316 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -1.501944E-18 0.000000E+00 1.51287E+00
317 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -3.754861E-19 0.000000E+00 6.97776E+00
318 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -1.376782E-18 0.000000E+00 5.12475E+00
319 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 1.501944E-18 0.000000E+00 1.51277E+00
320 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 1.126458E-18 0.000000E+00 6.97727E+00
321 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -2.753564E-18 0.000000E+00 5.12437E+00
322 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 1.001296E-18 0.000000E+00 1.51265E+00
323 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 2.753564E-18 0.000000E+00 6.97671E+00
324 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -4.255509E-18 0.000000E+00 5.12394E+00
325 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 4.005185E-18 0.000000E+00 1.51252E+00
326 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -3.254212E-18 0.000000E+00 6.97610E+00
327 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 1.251620E-18 0.000000E+00 5.12347E+00
328 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 1.752268E-18 0.000000E+00 1.51238E+00
329 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -4.756157E-18 0.000000E+00 6.97543E+00
330 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 6.508425E-18 0.000000E+00 5.12295E+00
331 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 1.051361E-17 0.000000E+00 1.51223E+00
332 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -1.501944E-18 0.000000E+00 6.97470E+00
333 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 6.007777E-18 0.000000E+00 5.12239E+00
334 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 1.301685E-17 0.000000E+00 1.51206E+00
335 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 3.504536E-18 0.000000E+00 6.97390E+00
336 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -1.251620E-17 0.000000E+00 5.12178E+00
337 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 5.507129E-18 0.000000E+00 1.51188E+00
338 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -7.509721E-18 0.000000E+00 6.97302E+00
339 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 9.512313E-18 0.000000E+00 5.12111E+00
340 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -4.005185E-18 0.000000E+00 1.51168E+00
341 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -9.512313E-18 0.000000E+00 6.97207E+00
342 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -2.002592E-18 0.000000E+00 5.12038E+00
343 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 1.151491E-17 0.000000E+00 1.51146E+00
344 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -1.652139E-17 0.000000E+00 6.97103E+00
345 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 1.652139E-17 0.000000E+00 5.11958E+00
346 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -5.006481E-18 0.000000E+00 1.51122E+00
347 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 5.006481E-19 0.000000E+00 6.96990E+00
348 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -2.302981E-17 0.000000E+00 5.11871E+00
349 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 2.603370E-17 0.000000E+00 1.51096E+00
350 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 5.006481E-19 0.000000E+00 6.96865E+00
351 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 4.005185E-18 0.000000E+00 5.11775E+00
352 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 8.861471E-17 0.000000E+00 1.51067E+00
353 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -1.101426E-17 0.000000E+00 6.96727E+00
354 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -8.010369E-18 0.000000E+00 5.11668E+00
355 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -9.312054E-17 0.000000E+00 1.51035E+00
356 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 1.602074E-17 0.000000E+00 6.96573E+00
357 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -2.903759E-17 0.000000E+00 5.11549E+00
358 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 2.903759E-17 0.000000E+00 1.50999E+00
359 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 2.102722E-17 0.000000E+00 6.96401E+00
360 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 0.000000E+00 0.000000E+00 5.11414E+00
361 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -1.381789E-16 0.000000E+00 1.50959E+00
362 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 3.003888E-17 0.000000E+00 6.96205E+00
363 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -9.011665E-18 0.000000E+00 5.11260E+00
364 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 1.281659E-16 0.000000E+00 1.50912E+00
365 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 1.602074E-17 0.000000E+00 6.95978E+00
366 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -2.603370E-17 0.000000E+00 5.11080E+00
367 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 0.000000E+00 0.000000E+00 1.50857E+00
368 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -6.007777E-17 0.000000E+00 6.95710E+00
369 traj.propelled_ascent.collocation_constraint.defects:h e 0.000000E+00 -3.905055E-17 0.000000E+00 5.10864E+00
370 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -1.851285E-16 0.000000E+00 -1.72084E-04
371 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -8.544394E-17 0.000000E+00 5.07789E-02
372 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 5.340246E-17 0.000000E+00 8.98195E-02
373 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 1.975891E-16 0.000000E+00 3.14333E-02
374 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -1.762281E-16 0.000000E+00 1.97817E-01
375 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 1.219356E-16 0.000000E+00 1.99340E-01
376 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 1.566472E-16 0.000000E+00 6.39269E-02
377 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -2.394210E-16 0.000000E+00 3.48835E-01
378 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 2.314107E-16 0.000000E+00 3.11283E-01
379 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -1.366213E-16 0.000000E+00 9.70589E-02
380 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 2.345258E-16 0.000000E+00 5.02502E-01
381 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -6.608555E-17 0.000000E+00 4.24938E-01
382 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -2.627846E-16 0.000000E+00 1.30678E-01
383 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 8.611147E-17 0.000000E+00 6.58262E-01
384 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -2.914884E-17 0.000000E+00 5.39999E-01
385 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 1.711104E-16 0.000000E+00 1.64703E-01
386 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 1.457442E-16 0.000000E+00 8.15792E-01
387 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -1.575373E-16 0.000000E+00 6.56275E-01
388 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 3.996284E-16 0.000000E+00 1.99078E-01
389 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -5.095485E-17 0.000000E+00 9.74877E-01
390 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 1.346187E-16 0.000000E+00 7.73637E-01
391 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -1.544221E-16 0.000000E+00 2.33770E-01
392 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -1.263858E-16 0.000000E+00 1.13537E+00
393 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 1.708879E-16 0.000000E+00 8.91995E-01
394 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -4.430179E-16 0.000000E+00 2.68752E-01
395 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -3.793800E-17 0.000000E+00 1.29718E+00
396 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 2.569993E-17 0.000000E+00 1.01129E+00
397 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -1.603186E-16 0.000000E+00 3.04008E-01
398 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -1.120339E-16 0.000000E+00 1.46023E+00
399 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 1.016872E-16 0.000000E+00 1.13148E+00
400 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -1.043573E-16 0.000000E+00 3.39528E-01
401 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -1.450767E-16 0.000000E+00 1.62448E+00
402 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 2.748002E-17 0.000000E+00 1.25255E+00
403 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 6.352668E-17 0.000000E+00 3.75307E-01
404 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -4.261071E-17 0.000000E+00 1.78993E+00
405 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -1.602074E-16 0.000000E+00 1.37449E+00
406 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 4.090851E-16 0.000000E+00 4.11345E-01
407 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 2.992763E-17 0.000000E+00 1.95658E+00
408 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 2.015943E-16 0.000000E+00 1.49733E+00
409 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -1.049136E-16 0.000000E+00 4.47648E-01
410 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 6.675308E-18 0.000000E+00 2.12447E+00
411 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -6.753186E-17 0.000000E+00 1.62110E+00
412 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -4.040786E-16 0.000000E+00 4.84226E-01
413 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 1.991467E-16 0.000000E+00 2.29365E+00
414 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -8.377511E-17 0.000000E+00 1.74585E+00
415 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -1.293897E-16 0.000000E+00 5.21097E-01
416 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 1.991467E-17 0.000000E+00 2.46422E+00
417 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -3.526788E-17 0.000000E+00 1.87166E+00
418 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 2.002036E-16 0.000000E+00 5.58286E-01
419 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 1.785089E-16 0.000000E+00 2.63630E+00
420 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -1.828478E-16 0.000000E+00 1.99863E+00
421 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 4.808447E-16 0.000000E+00 5.95825E-01
422 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -1.320598E-16 0.000000E+00 2.81006E+00
423 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 1.188205E-16 0.000000E+00 2.12692E+00
424 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -1.255514E-16 0.000000E+00 6.33762E-01
425 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -6.619680E-18 0.000000E+00 2.98575E+00
426 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -1.173742E-17 0.000000E+00 2.25674E+00
427 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 2.854807E-16 0.000000E+00 6.72159E-01
428 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -1.012422E-16 0.000000E+00 3.16370E+00
429 traj.propelled_ascent.collocation_constraint.defects:gam e 0.000000E+00 -5.696262E-17 0.000000E+00 2.38836E+00
430 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -4.806221E-18 0.000000E+00 5.00831E+01
431 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -4.806221E-18 0.000000E+00 2.30664E+02
432 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 3.204148E-18 0.000000E+00 1.69108E+02
433 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -1.441866E-17 0.000000E+00 4.98928E+01
434 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 3.204148E-18 0.000000E+00 2.29852E+02
435 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 6.408295E-18 0.000000E+00 1.68549E+02
436 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -1.121452E-17 0.000000E+00 4.97297E+01
437 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -1.281659E-17 0.000000E+00 2.29114E+02
438 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -9.612443E-18 0.000000E+00 1.68019E+02
439 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 4.806221E-17 0.000000E+00 4.95739E+01
440 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 0.000000E+00 0.000000E+00 2.28403E+02
441 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -3.524562E-17 0.000000E+00 1.67504E+02
442 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 4.806221E-18 0.000000E+00 4.94225E+01
443 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 3.204148E-17 0.000000E+00 2.27711E+02
444 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -4.005185E-17 0.000000E+00 1.67001E+02
445 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 1.377783E-16 0.000000E+00 4.92747E+01
446 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -3.524562E-17 0.000000E+00 2.27035E+02
447 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 5.607258E-17 0.000000E+00 1.66511E+02
448 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -1.602074E-18 0.000000E+00 4.91305E+01
449 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 6.408295E-18 0.000000E+00 2.26376E+02
450 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 1.602074E-18 0.000000E+00 1.66032E+02
451 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -1.922489E-17 0.000000E+00 4.89897E+01
452 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -5.286844E-17 0.000000E+00 2.25732E+02
453 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 5.607258E-17 0.000000E+00 1.65566E+02
454 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 1.602074E-18 0.000000E+00 4.88527E+01
455 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -3.204148E-18 0.000000E+00 2.25107E+02
456 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -4.485807E-17 0.000000E+00 1.65113E+02
457 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -8.490991E-17 0.000000E+00 4.87198E+01
458 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 4.646014E-17 0.000000E+00 2.24501E+02
459 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 3.524562E-17 0.000000E+00 1.64677E+02
460 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -5.607258E-17 0.000000E+00 4.85916E+01
461 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -7.209332E-17 0.000000E+00 2.23918E+02
462 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 1.089410E-16 0.000000E+00 1.64257E+02
463 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -1.025327E-16 0.000000E+00 4.84687E+01
464 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 1.922489E-17 0.000000E+00 2.23361E+02
465 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 3.844977E-17 0.000000E+00 1.63858E+02
466 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 1.441866E-16 0.000000E+00 4.83520E+01
467 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -1.121452E-17 0.000000E+00 2.22834E+02
468 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -4.806221E-17 0.000000E+00 1.63483E+02
469 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -3.844977E-17 0.000000E+00 4.82425E+01
470 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -4.165392E-17 0.000000E+00 2.22342E+02
471 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -1.602074E-17 0.000000E+00 1.63137E+02
472 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -2.803629E-16 0.000000E+00 4.81419E+01
473 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 1.217576E-16 0.000000E+00 2.21894E+02
474 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 3.524562E-17 0.000000E+00 1.62826E+02
475 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -9.452236E-17 0.000000E+00 4.80519E+01
476 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -3.204148E-18 0.000000E+00 2.21500E+02
477 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 1.153493E-16 0.000000E+00 1.62559E+02
478 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -7.209332E-17 0.000000E+00 4.79754E+01
479 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 6.408295E-18 0.000000E+00 2.21172E+02
480 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 1.537991E-16 0.000000E+00 1.62348E+02
481 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 2.947816E-16 0.000000E+00 4.79160E+01
482 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -3.204148E-17 0.000000E+00 2.20932E+02
483 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -5.607258E-17 0.000000E+00 1.62210E+02
484 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 5.911652E-16 0.000000E+00 4.78793E+01
485 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -8.010369E-17 0.000000E+00 2.20808E+02
486 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 1.762281E-16 0.000000E+00 1.62172E+02
487 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 9.292028E-17 0.000000E+00 4.78738E+01
488 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -1.057369E-16 0.000000E+00 2.20845E+02
489 traj.propelled_ascent.collocation_constraint.defects:v e 0.000000E+00 -1.698198E-16 0.000000E+00 1.62276E+02
490 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 3.181719E-13 0.000000E+00 2.21670E+00
491 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 2.829262E-13 0.000000E+00 1.04348E+01
492 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 2.362258E-13 0.000000E+00 7.86200E+00
493 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 2.213666E-13 0.000000E+00 2.33821E+00
494 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 1.971352E-13 0.000000E+00 1.09594E+01
495 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 1.677371E-13 0.000000E+00 8.21148E+00
496 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 1.636518E-13 0.000000E+00 2.43807E+00
497 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 1.427848E-13 0.000000E+00 1.13854E+01
498 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 1.258229E-13 0.000000E+00 8.48985E+00
499 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 1.125657E-13 0.000000E+00 2.51704E+00
500 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 1.043351E-13 0.000000E+00 1.17161E+01
501 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 9.181886E-14 0.000000E+00 8.69901E+00
502 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 8.837440E-14 0.000000E+00 2.57565E+00
503 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 7.760045E-14 0.000000E+00 1.19535E+01
504 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 6.788788E-14 0.000000E+00 8.84012E+00
505 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 6.370246E-14 0.000000E+00 2.61420E+00
506 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 5.819533E-14 0.000000E+00 1.20987E+01
507 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 5.186714E-14 0.000000E+00 8.91356E+00
508 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 5.028509E-14 0.000000E+00 2.63278E+00
509 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 4.565910E-14 0.000000E+00 1.21516E+01
510 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 3.881024E-14 0.000000E+00 8.91903E+00
511 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 3.516552E-14 0.000000E+00 2.63125E+00
512 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 3.526565E-14 0.000000E+00 1.21113E+01
513 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 3.164096E-14 0.000000E+00 8.85547E+00
514 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 2.786607E-14 0.000000E+00 2.60928E+00
515 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 2.573331E-14 0.000000E+00 1.19759E+01
516 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 2.428143E-14 0.000000E+00 8.72100E+00
517 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 2.124750E-14 0.000000E+00 2.56627E+00
518 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 2.020616E-14 0.000000E+00 1.17423E+01
519 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 1.868419E-14 0.000000E+00 8.51283E+00
520 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 1.816351E-14 0.000000E+00 2.50135E+00
521 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 1.528979E-14 0.000000E+00 1.14057E+01
522 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 1.425846E-14 0.000000E+00 8.22707E+00
523 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 1.656144E-14 0.000000E+00 2.41331E+00
524 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 1.161504E-14 0.000000E+00 1.09601E+01
525 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 1.041348E-14 0.000000E+00 7.85845E+00
526 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 1.206562E-14 0.000000E+00 2.30053E+00
527 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 9.612443E-15 0.000000E+00 1.03973E+01
528 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 8.420901E-15 0.000000E+00 7.40001E+00
529 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 8.981626E-15 0.000000E+00 2.16085E+00
530 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 7.890214E-15 0.000000E+00 9.70612E+00
531 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 6.027803E-15 0.000000E+00 6.84249E+00
532 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 5.427025E-15 0.000000E+00 1.99143E+00
533 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 6.258101E-15 0.000000E+00 8.87215E+00
534 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 4.505833E-15 0.000000E+00 6.17357E+00
535 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 4.706092E-15 0.000000E+00 1.78844E+00
536 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 3.799919E-15 0.000000E+00 7.87583E+00
537 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 2.843681E-15 0.000000E+00 5.37658E+00
538 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 6.722702E-14 0.000000E+00 1.54673E+00
539 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 2.598363E-15 0.000000E+00 6.69052E+00
540 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 2.318001E-15 0.000000E+00 4.42853E+00
541 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 2.758571E-15 0.000000E+00 1.26715E+00
542 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 2.833668E-15 0.000000E+00 5.31656E+00
543 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 1.381789E-15 0.000000E+00 3.32499E+00
544 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 9.362119E-16 0.000000E+00 9.23803E-01
545 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 1.351750E-15 0.000000E+00 3.62662E+00
546 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 -1.001296E-17 0.000000E+00 1.96251E+00
547 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 2.247910E-15 0.000000E+00 5.09093E-01
548 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 1.261633E-15 0.000000E+00 1.57495E+00
549 traj.propelled_ascent.collocation_constraint.defects:p e 0.000000E+00 8.561082E-16 0.000000E+00 2.92838E-01
550 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 3.704796E-15 0.000000E+00 1.66440E-05
551 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -3.053953E-15 0.000000E+00 1.30539E-01
552 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -6.007777E-16 0.000000E+00 2.28995E-01
553 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 1.101426E-15 0.000000E+00 8.01137E-02
554 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -1.051361E-15 0.000000E+00 5.02221E-01
555 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -2.102722E-15 0.000000E+00 5.04892E-01
556 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 2.252916E-15 0.000000E+00 1.61873E-01
557 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -1.501944E-16 0.000000E+00 8.83035E-01
558 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 2.302981E-15 0.000000E+00 7.88950E-01
559 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -5.957712E-15 0.000000E+00 2.46176E-01
560 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -1.401815E-15 0.000000E+00 1.27699E+00
561 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -1.501944E-15 0.000000E+00 1.08411E+00
562 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 2.252916E-15 0.000000E+00 3.33895E-01
563 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 1.301685E-15 0.000000E+00 1.68817E+00
564 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -4.005185E-16 0.000000E+00 1.39346E+00
565 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 4.806221E-15 0.000000E+00 4.25951E-01
566 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -1.952527E-15 0.000000E+00 2.12095E+00
567 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 3.604666E-15 0.000000E+00 1.72039E+00
568 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -6.208036E-15 0.000000E+00 5.23362E-01
569 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 1.652139E-15 0.000000E+00 2.58024E+00
570 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -5.006481E-16 0.000000E+00 2.06875E+00
571 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -5.607258E-15 0.000000E+00 6.27292E-01
572 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 7.009073E-16 0.000000E+00 3.07172E+00
573 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 3.154083E-15 0.000000E+00 2.44306E+00
574 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -1.151491E-15 0.000000E+00 7.39115E-01
575 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 1.001296E-15 0.000000E+00 3.60213E+00
576 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 1.652139E-15 0.000000E+00 2.84878E+00
577 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 2.853694E-15 0.000000E+00 8.60490E-01
578 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -7.009073E-16 0.000000E+00 4.17970E+00
579 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 1.451879E-15 0.000000E+00 3.29260E+00
580 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 1.852398E-15 0.000000E+00 9.93464E-01
581 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -3.003888E-16 0.000000E+00 4.81465E+00
582 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 4.005185E-16 0.000000E+00 3.78295E+00
583 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 1.001296E-16 0.000000E+00 1.14062E+00
584 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -2.503240E-16 0.000000E+00 5.51996E+00
585 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 1.752268E-15 0.000000E+00 4.33064E+00
586 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -1.101426E-15 0.000000E+00 1.30528E+00
587 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -2.002592E-16 0.000000E+00 6.31250E+00
588 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 1.401815E-15 0.000000E+00 4.94986E+00
589 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 1.602074E-15 0.000000E+00 1.49183E+00
590 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -7.009073E-16 0.000000E+00 7.21465E+00
591 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -6.508425E-16 0.000000E+00 5.65969E+00
592 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -9.011665E-16 0.000000E+00 1.70619E+00
593 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 4.255509E-16 0.000000E+00 8.25692E+00
594 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -5.256805E-16 0.000000E+00 6.48650E+00
595 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -1.952527E-15 0.000000E+00 1.95658E+00
596 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -3.003888E-16 0.000000E+00 9.48209E+00
597 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 8.511017E-16 0.000000E+00 7.46786E+00
598 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -1.126458E-15 0.000000E+00 2.25476E+00
599 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 3.504536E-16 0.000000E+00 1.09523E+01
600 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -3.754861E-16 0.000000E+00 8.65942E+00
601 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -3.754861E-16 0.000000E+00 2.61832E+00
602 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -1.001296E-16 0.000000E+00 1.27614E+01
603 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 5.006481E-17 0.000000E+00 1.01474E+01
604 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 3.754861E-16 0.000000E+00 3.07474E+00
605 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 -1.501944E-16 0.000000E+00 1.50591E+01
606 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 7.509721E-17 0.000000E+00 1.20732E+01
607 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 0.000000E+00 0.000000E+00 3.66969E+00
608 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 5.006481E-17 0.000000E+00 1.80991E+01
609 traj.propelled_ascent.collocation_constraint.defects:V_w e 0.000000E+00 7.509721E-17 0.000000E+00 1.46869E+01
Exit Status
Inform Description
1 Solved To Acceptable Level
--------------------------------------------------------------------------------
Simulating trajectory traj
Done simulating trajectory traj
Launch angle: 46.8229 deg
Flight angle at end of propulsion: 38.3886 deg
Empty mass: 0.1891 kg
Water volume: 1.0273 L
Maximum range: 85.0967 m
Maximum height: 23.0818 m
Maximum velocity: 41.3029 m/s
Maximum Range Solution: Propulsive Phase#
plot_propelled_ascent(sol_out, sim_out)

Maximum Range Solution: Height vs. Range#
plot_trajectory(sol_out, sim_out, legend_loc='center')

Maximum Range Solution: State History#
plot_states(sol_out, sim_out, legend_loc='lower center')

References#
Nozzles. 2013. URL: http://www.aircommandrockets.com/nozzles.htm.
Bernardo Bahia Monteiro. Optimization of a water rocket in openmdao/dymos. Aug 2020. URL: engrxiv.org/nqta8, doi:10.31224/osf.io/nqta8.
R Barrio-Perotti, E Blanco-Marigorta, K Argüelles-D\'ıaz, and J Fernández-Oro. Experimental evaluation of the drag coefficient of water rockets by a simple free-fall test. European Journal of Physics, 30(5):1039–1048, jul 2009. doi:10.1088/0143-0807/30/5/012.
Laura Fischer, Thomas Günther, Linda Herzig, Tobias Jarzina, Frank Klinker, Sabine Knipper, Franz-Georg Schürmann, and Marvin Wollek. On the approximation of D.I.Y. water rocket dynamics including air drag. arXiv:2001.08828, 2020. arXiv:2001.08828.
Alejandro Romanelli, Italo Bove, and Federico González Madina. Air expansion in a water rocket. American Journal of Physics, 81(10):762–766, oct 2013. doi:10.1119/1.4811116.
Glen E. Thorncroft, John R. Ridgely, and Christopher C. Pascual. Hydrodynamics and thrust characteristics of a water-propelled rocket. International Journal of Mechanical Engineering Education, 37(3):241–261, jul 2009. doi:10.7227/ijmee.37.3.9.