RCAIDE.Library.Mission.Segments.Climb.Constant_Dynamic_Pressure_Constant_Angle

Constant_Dynamic_Pressure_Constant_Angle#

Functions

initialize_conditions_unpack_unknowns(segment)

Sets the specified conditions which are given for the segment type.

residual_altitude(segment)

Computes the altitude residual

update_differentials(segment)

On each iteration creates the differentials and integration functions from knowns about the problem.

initialize_conditions_unpack_unknowns(segment)[source]#

Sets the specified conditions which are given for the segment type.

Assumptions: Constrant dynamic pressure and constant rate of climb

Source: N/A

Inputs: segment.climb_angle [radians] segment.dynamic_pressure [pascals] segment.altitude_start [meters] segment.altitude_end [meters] segment.state.numerics.dimensionless.control_points [unitless] conditions.freestream.density [kilograms/meter^3]

Outputs: conditions.frames.inertial.velocity_vector [meters/second] conditions.frames.inertial.position_vector [meters] conditions.frames.body.inertial_rotations [radians]

Properties Used: N/A

residual_altitude(segment)[source]#

Computes the altitude residual

Assumptions: No higher order terms.

Source: N/A

Inputs: segment.state.conditions.frames.inertial.total_force_vector [Newtons] segment.state.conditions.frames.inertial.acceleration_vector [meter/second^2] segment.state.conditions.weights.total_mass [kilogram] segment.state.conditions.freestream.altitude [meter]

Outputs: segment.state.residuals.altitude [meters]

Properties Used: N/A

update_differentials(segment)[source]#

On each iteration creates the differentials and integration functions from knowns about the problem. Sets the time at each point. Must return in dimensional time, with t[0] = 0. This is different from the common method as it also includes the scaling of operators.

Assumptions: Works with a segment discretized in vertical position, altitude

Inputs: state.numerics.dimensionless.control_points [Unitless] state.numerics.dimensionless.differentiate [Unitless] state.numerics.dimensionless.integrate [Unitless] state.conditions.frames.inertial.position_vector [meter] state.conditions.frames.inertial.velocity_vector [meter/second]

Outputs: state.conditions.frames.inertial.time [second]