Exemple #1
0
def build_data_r(v):
    tv = type(v)  # Get value type

    # Transform to SUAVE data structure with appropriate types
    if tv == OrderedDict:
        keys = v.keys()
        # Recursively assign values
        ret = DataOrdered()
        for k in keys:
            k = str(k)
            ret[k] = build_data_r(v[k])
    elif tv == list:
        ret = np.array(v)
    elif (tv == unicode):
        ret = str(v)
    elif (tv == bool):
        ret = v
    elif tv == type(None):
        ret = None
    elif (tv == float) or (tv == int):
        ret = v
    else:
        raise TypeError('Data type not expected in SUAVE JSON structure')

    return ret
Exemple #2
0
 def __defaults__(self):
     """This sets the default values.
 
         Assumptions:
         None
 
         Source:
         N/A
 
         Inputs:
         None
 
         Outputs:
         None
 
         Properties Used:
         None
         """
     self.tag = 'vehicle'
     self.fuselages = Components.Fuselages.Fuselage.Container()
     self.wings = Components.Wings.Wing.Container()
     self.networks = Components.Energy.Networks.Network.Container()
     self.nacelles = Components.Nacelles.Nacelle.Container()
     self.systems = Components.Systems.System.Container()
     self.mass_properties = Vehicle_Mass_Container()
     self.payload = Components.Payloads.Payload.Container()
     self.costs = Costs()
     self.envelope = Components.Envelope()
     self.landing_gear = Components.Landing_Gear.Landing_Gear.Container()
     self.reference_area = 0.0
     self.passengers = 0.0
     self.performance = DataOrdered()
Exemple #3
0
 def __defaults__(self):
     """ This sets the default values.
 
         Assumptions:
         Puts the segments in the right order
 
         Source:
         N/A
 
         Inputs:
         None
 
         Outputs:
         None
 
         Properties Used:
         None
     """
     self.segments = DataOrdered()
Exemple #4
0
class Container(State):
    def __defaults__(self):
        """ This sets the default values.
    
            Assumptions:
            Puts the segments in the right order
    
            Source:
            N/A
    
            Inputs:
            None
    
            Outputs:
            None
    
            Properties Used:
            None
        """
        self.segments = DataOrdered()

    def merged(self):
        """ Combines the states of multiple segments
    
            Assumptions:
            None
    
            Source:
            N/A
    
            Inputs:
            None
    
            Outputs:
            state_out [State()]
    
            Properties Used:
            None
        """

        state_out = State()

        for i, (tag, sub_state) in enumerate(self.segments.items()):
            for key in ['unknowns', 'conditions', 'residuals']:
                if i == 0:
                    state_out[key].update(sub_state[key])
                else:
                    state_out[key] = state_out[key].do_recursive(
                        append_array, sub_state[key])

        return state_out
Exemple #5
0
class Container(State):
    def __defaults__(self):
        """ This sets the default values.
    
            Assumptions:
            Puts the segments in the right order
    
            Source:
            N/A
    
            Inputs:
            None
    
            Outputs:
            None
    
            Properties Used:
            None
        """         
        self.segments = DataOrdered()
        
    def merged(self):
        """ Combines the states of multiple segments
    
            Assumptions:
            None
    
            Source:
            N/A
    
            Inputs:
            None
    
            Outputs:
            state_out [State()]
    
            Properties Used:
            None
        """              
        
        state_out = State()
        
        for i,(tag,sub_state) in enumerate(self.segments.items()):
            for key in ['unknowns','conditions','residuals']:
                if i == 0:
                    state_out[key].update(sub_state[key])
                else:
                    state_out[key] = state_out[key].do_recursive(append_array,sub_state[key])
            
        return state_out
Exemple #6
0
class Container(State):
    def __defaults__(self):
        self.segments = DataOrdered()

    def merged(self):

        state_out = State()

        for i, (tag, sub_state) in enumerate(self.segments.items()):
            for key in ['unknowns', 'conditions', 'residuals']:
                if i == 0:
                    state_out[key].update(sub_state[key])
                else:
                    state_out[key] = state_out[key].do_recursive(
                        append_array, sub_state[key])

        return state_out
Exemple #7
0
 def __defaults__(self):
     """ This sets the default values.
 
         Assumptions:
         Puts the segments in the right order
 
         Source:
         N/A
 
         Inputs:
         None
 
         Outputs:
         None
 
         Properties Used:
         None
     """         
     self.segments = DataOrdered()
Exemple #8
0
def build_data_r(v):
    """Builds a SUAVE data structure based on a dictionary from a JSON file. This is recursive step.

    Assumptions:
    Dictionary was created based on a previously saved SUAVE data structure.

    Source:
    N/A

    Inputs:
    v     generic value

    Outputs:
    ret   value converted to needed format

    Properties Used:
    N/A
    """
    tv = type(v)  # Get value type

    # Transform to SUAVE data structure with appropriate types
    if tv == OrderedDict:
        keys = v.keys()
        # Recursively assign values
        ret = DataOrdered()
        for k in keys:
            k = str(k)
            ret[k] = build_data_r(v[k])
    elif tv == list:
        ret = np.array(v)
    elif (tv == unicode):
        ret = str(v)
    elif (tv == bool):
        ret = v
    elif tv == type(None):
        ret = None
    elif (tv == float) or (tv == int):
        ret = v
    else:
        raise TypeError('Data type not expected in SUAVE JSON structure')

    return ret
Exemple #9
0
 def __defaults__(self):
     """This sets the default values.
 
         Assumptions:
         None
 
         Source:
         N/A
 
         Inputs:
         None
 
         Outputs:
         None
 
         Properties Used:
         None
     """         
     self.tag = 'Lofted_Body'
     self.Segments = DataOrdered() # think edges
Exemple #10
0
 def __defaults__(self):
     self.tag = 'Lofted_Body'
     self.Segments = DataOrdered()  # think edges
     self.Sections = SectionContainer()  # think nodes
Exemple #11
0
 def __defaults__(self):
     self.segments = DataOrdered()