Source code for RCAIDE.Framework.Mission.Sequential_Segments

# RCAIDE/Framework/Analyses/Mission/Sequential_Segments.py
# 
# 
# Created:  Jul 2023, M. Clarke 

# ----------------------------------------------------------------------------------------------------------------------
#  IMPORT
# ----------------------------------------------------------------------------------------------------------------------  
# RCAIDE imports    
from RCAIDE.Library.Mission.Common.Segments    import sequential_segments
from RCAIDE.Library.Mission.Common.Pre_Process import aerodynamics,stability, energy,emissions,mass_properties, set_residuals_and_unknowns
from RCAIDE.Framework.Core                     import Container as ContainerBase
from RCAIDE.Framework.Analyses                 import Process 
from . import Segments

# ----------------------------------------------------------------------------------------------------------------------
# ANALYSIS
# ----------------------------------------------------------------------------------------------------------------------  -Mission
[docs] class Sequential_Segments(Segments.Segment.Container): """ Solves each segment one at time Assumptions: None Source: None """ def __defaults__(self): """This sets the default values. Assumptions: None Source: N/A Inputs: None Outputs: None Properties Used: None """ self.tag = 'mission' # Initialize self.process.initialize = Process() self.process.initialize.mass_properties = mass_properties self.process.initialize.aero = aerodynamics self.process.initialize.stability = stability self.process.initialize.energy = energy self.process.initialize.emissions = emissions self.process.initialize.set_residuals_and_unknowns = set_residuals_and_unknowns # Converge self.process.converge = sequential_segments # Iterate del self.process.iterate return
[docs] def evaluate(self,state=None): """ This executes the entire process Assumptions: None Source: N/A Inputs: State [Data()] Outputs: State [Data()] Properties Used: None """ if state is None: state = self.state self.process(self) return self
# ---------------------------------------------------------------------- # Container Class # ----------------------------------------------------------------------
[docs] class Container(ContainerBase): """ Container for mission Assumptions: None Source: None """
[docs] def evaluate(self,state=None): """ Go through the missions, run through them, save the results Assumptions: None Source: N/A Inputs: state [Data()] Outputs: Results [Data()] Properties Used: None """ pass
# Link container Sequential_Segments.Container = Container