RCAIDE.Library.Mission.Segments.Climb.Constant_Dynamic_Pressure_Constant_Angle
Constant_Dynamic_Pressure_Constant_Angle#
Functions
Sets the specified conditions which are given for the segment type. |
|
|
Computes the altitude residual |
|
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]