def test_tracing(self): # Check tracing of iteration coordinates. top = Assembly() comp = top.add('comp1', Dummy()) top.add('driverA', Driver()) comp = top.add('comp2', Dummy()) top.add('driverB', Driver()) sub = top.add('subassy', Assembly()) comp = sub.add('comp3', Dummy()) sub.driver.workflow.add('comp3') top.driver.workflow = SequentialWorkflow() top.driver.workflow.add(('comp1', 'driverA', 'driverB')) top.driverA.workflow.add(('comp1', 'comp2')) top.driverB.workflow.add(('comp2', 'subassy')) trace_out = cStringIO.StringIO() enable_trace(trace_out) top.run() expected = """\ 1-comp1 1-driverA.1-comp1 1-driverA.1-comp2 1-driverB.1-comp2 1-driverB.1-subassy.1-comp3 """ self.assertEqual(trace_out.getvalue(), expected) disable_trace() top.run() self.assertEqual(trace_out.getvalue(), expected)
def test_tracing(self): # Check tracing of iteration coordinates. top = Assembly() comp = top.add("comp1", Dummy()) comp.force_execute = True top.add("driverA", Driver()) comp = top.add("comp2", Dummy()) comp.force_execute = True top.add("driverB", Driver()) sub = top.add("subassy", Assembly()) sub.force_execute = True comp = sub.add("comp3", Dummy()) comp.force_execute = True sub.driver.workflow.add("comp3") top.driver.workflow = SequentialWorkflow() top.driver.workflow.add(("comp1", "driverA", "driverB")) top.driverA.workflow.add(("comp1", "comp2")) top.driverB.workflow.add(("comp2", "subassy")) trace_out = cStringIO.StringIO() enable_trace(trace_out) top.run() expected = """\ 1-1 1-2.1-1 1-2.1-2 1-3.1-1 1-3.1-2.1-1 """ self.assertEqual(trace_out.getvalue(), expected) disable_trace() top.run() self.assertEqual(trace_out.getvalue(), expected)
q_dim = 6 * (self.config.Ns + 1) self.aero2.q = np.zeros((q_dim, 1)) # calculate results self.add("results", Results()) self.connect("config.b", "results.b") self.connect("config.Ns", "results.Ns") self.connect("discrete.yN", "results.yN") self.connect("discrete.yE", "results.yE") self.connect("discrete.cE", "results.cE") self.connect("discrete.Cl", "results.Cl") self.connect("struc.q", "results.q") self.connect("struc.Mtot", "results.Mtot") self.connect("aero2.phi", "results.phi") self.connect("config.collective", "results.collective") self.connect("aero2.Fblade", "results.fblade") self.driver.workflow.add("config") self.driver.workflow.add("discrete") self.driver.workflow.add("aero") self.driver.workflow.add("iterate") self.driver.workflow.add("results") if __name__ == "__main__": top = AeroStructural() enable_trace() top.run()