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)
Example #2
0
    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)
Example #3
0
    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)
Example #4
0
        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()