def setup(self): group = Group() a = group.declare_input('a', val=2) b = group.create_indep_var('b', val=12) group.register_output('prod', a * b) self.add_subsystem('sys', group, promotes=['*']) # These expressions do not lead to constructing any Component # objects x1 = self.declare_input('x1') x2 = self.declare_input('x2') y1 = x2 + x1 y2 = x2 - x1 y3 = x1 * x2 y5 = x2**2
def setup(self): # Create independent variable x1 = self.create_indep_var('x1', val=40) # Powers y4 = x1**2 # Create subsystem that depends on previously created # independent variable subgroup = Group() # This value is overwritten by connection from the main group a = subgroup.declare_input('x1', val=2) b = subgroup.create_indep_var('x2', val=12) subgroup.register_output('prod', a * b) self.add_subsystem('subsystem', subgroup, promotes=['*']) # declare inputs with default values # This value is overwritten by connection # from the subgroup x2 = self.declare_input('x2', val=3) # Simple addition y1 = x2 + x1 self.register_output('y1', y1) # Simple subtraction self.register_output('y2', x2 - x1) # Simple multitplication self.register_output('y3', x1 * x2) # Powers y5 = x2**2 # register outputs in reverse order to how they are defined self.register_output('y5', y5) self.register_output('y6', y1 + y5) self.register_output('y4', y4)