Source code for RCAIDE.Framework.Mission.Segments.Ground.Ground

# RCAIDE/Framework/Analyses/Mission/Segments/Ground/Ground.py
# 
# 
# Created:  Jul 2023, M. Clarke
 
# ----------------------------------------------------------------------------------------------------------------------
#  IMPORT
# ----------------------------------------------------------------------------------------------------------------------

# RCAIDE imports
from RCAIDE.Framework.Core                            import Units , Data 
from RCAIDE.Framework.Mission.Segments.Evaluate       import Evaluate
from RCAIDE.Library.Mission.Common                    import Residuals , Unpack_Unknowns, Update
 
# ----------------------------------------------------------------------------------------------------------------------
#  Ground
# ---------------------------------------------------------------------------------------------------------------------- 
[docs] class Ground(Evaluate): """ Base segment for takeoff and landing segments. Integrates equations of motion including rolling friction. Assumptions: Notes Regarding Friction Coefficients Dry asphalt or concrete: .04 brakes off, .4 brakes on Wet asphalt or concrete: .05 brakes off, .225 brakes on Icy asphalt or concrete: .02 brakes off, .08 brakes on Hard turf: .05 brakes off, .4 brakes on Firm dirt: .04 brakes off, .3 brakes on Soft turf: .07 brakes off, .2 brakes on Wet grass: .08 brakes off, .2 brakes on Source: General Aviation Aircraft Design: Applied Methods and Procedures, by Snorri Gudmundsson, copyright 2014, published by Elsevier, Waltham, MA, USA [p.938] """ def __defaults__(self): """ This sets the default solver flow. Anything in here can be modified after initializing a segment. Assumptions: None Source: N/A Inputs: None Outputs: None Properties Used: None """ # -------------------------------------------------------------------------------------------------------------- # User Inputs # -------------------------------------------------------------------------------------------------------------- self.ground_incline = 0.0 self.friction_coefficient = 0.04 self.throttle = None self.velocity_start = 0.0 self.velocity_end = 0.0 self.altitude = 0.0 self.true_course = 0.0 * Units.degrees # -------------------------------------------------------------------------------------------------------------- # Mission Conditions # -------------------------------------------------------------------------------------------------------------- ones_row = self.state.ones_row self.state.conditions.ground = Data() self.state.conditions.ground.incline = ones_row(1) * 0.0 self.state.conditions.ground.friction_coefficient = ones_row(1) * 0.0 self.state.conditions.frames.inertial.ground_force_vector = ones_row(3) * 0.0 # -------------------------------------------------------------------------------------------------------------- # Mission Specific Unknowns and Residuals # -------------------------------------------------------------------------------------------------------------- iterate.unknowns.mission = Unpack_Unknowns.ground iterate.residuals.flight_dynamics = Residuals.flight_dynamics # -------------------------------------------------------------------------------------------------------------- # Mission specific processes # -------------------------------------------------------------------------------------------------------------- iterate = self.process.iterate iterate.conditions.forces_ground = Update.ground_forces return