コード例 #1
0
    def test_jsonrecorder(self):
        sout = StringIO()
        self.top.recorders = [JSONCaseRecorder(sout)]
        self.top.run()

        # with open('jsonrecorder.new', 'w') as out:
        #     out.write(sout.getvalue())
        verify_json(self, sout, 'jsonrecorder.json')
コード例 #2
0
    def test_jsonrecorder(self):
        sout = StringIO()
        self.top.recorders = [JSONCaseRecorder(sout)]
        self.top.run()

        if os.environ.get('REGEN_JSON_FILES'):
            with open('jsonrecorder.new', 'w') as out:
                out.write(sout.getvalue())
        verify_json(self, sout, 'jsonrecorder.json')
コード例 #3
0
    def test_jsonrecorder(self):
        sout = StringIO()
        self.top.recorders = [JSONCaseRecorder(sout)]
        self.top.run()

        if os.environ.get('REGEN_JSON_FILES'):
            with open('jsonrecorder.new', 'w') as out:
                out.write(sout.getvalue())
        verify_json(self, sout, 'jsonrecorder.json')
コード例 #4
0
    def test_jsonrecorder_norun(self):
        # test ability to get model data from case recorder
        #    without calling run()

        sout = StringIO()
        self.top.recorders = [JSONCaseRecorder(sout)]
        self.top.record_configuration()

        # with open('jsonrecorder_norun.new', 'w') as out:
        #      out.write(sout.getvalue())
        verify_json(self, sout, 'jsonrecorder_norun.json')
コード例 #5
0
    def test_jsonrecorder_norun(self):
        # test ability to get model data from case recorder
        #    without calling run()

        sout = StringIO()
        self.top.recorders = [JSONCaseRecorder(sout)]
        self.top.record_configuration()

        if os.environ.get('REGEN_JSON_FILES'):
            with open('jsonrecorder_norun.new', 'w') as out:
                out.write(sout.getvalue())
        verify_json(self, sout, 'jsonrecorder_norun.json')
コード例 #6
0
    def test_multiple_objectives(self):
        sout = StringIO()
        self.top.add('driver', SensitivityDriver())
        self.top.driver.workflow.add(['comp1', 'comp2'])
        self.top.driver.add_parameter(['comp1.x'], low=-100, high=100)
        self.top.driver.add_objective('comp1.z')
        self.top.driver.add_objective('comp2.z')

        self.top.recorders = [JSONCaseRecorder(sout)]
        self.top.run()

        # with open('multiobj.new', 'w') as out:
        #     out.write(sout.getvalue())
        verify_json(self, sout, 'multiobj.json')
コード例 #7
0
    def test_multiple_objectives(self):
        sout = StringIO()
        self.top.add('driver', SensitivityDriver())
        self.top.driver.workflow.add(['comp1', 'comp2'])
        self.top.driver.add_parameter(['comp1.x'], low=-100, high=100)
        self.top.driver.add_objective('comp1.z')
        self.top.driver.add_objective('comp2.z')

        self.top.recorders = [JSONCaseRecorder(sout)]
        self.top.run()

        if os.environ.get('REGEN_JSON_FILES'):
            with open('multiobj.new', 'w') as out:
                out.write(sout.getvalue())
        verify_json(self, sout, 'multiobj.json')
コード例 #8
0
    def test_nested(self):
        asm3 = Assembly()
        asm3.add('comp1', ExecComp(exprs=['z=x+y']))
        driver = asm3.add('driver', SLSQPdriver())
        driver.workflow.add('comp1')
        driver.add_parameter('comp1.y', low=-1, high=1, start=0)
        driver.add_objective('comp1.z')
        driver.add_constraint('comp1.z >= 0')
        asm3.create_passthrough('comp1.x')
        asm3.create_passthrough('comp1.z')

        asm2 = Assembly()
        asm2.add('comp1', ExecComp(exprs=['z=x+y']))
        asm2.add('asm3', asm3)
        asm2.connect('comp1.z', 'asm3.x')
        driver = asm2.add('driver', SLSQPdriver())
        driver.workflow.add(('comp1', 'asm3'))
        driver.add_parameter('comp1.y', low=-1, high=1, start=0)
        driver.add_objective('asm3.z')
        driver.add_constraint('comp1.z >= 0')
        asm2.create_passthrough('comp1.x')
        asm2.create_passthrough('asm3.z')

        asm1 = set_as_top(Assembly())
        asm1.add('comp1', ExecComp(exprs=['z=x+y']))
        asm1.add('asm2', asm2)
        asm1.connect('comp1.z', 'asm2.x')
        driver = asm1.add('driver', SLSQPdriver())
        driver.workflow.add(('comp1', 'asm2'))
        driver.add_parameter('comp1.y', low=-1, high=1, start=0)
        driver.add_objective('asm2.z')
        driver.add_constraint('comp1.z >= 0')

        sout = StringIO()
        asm1.recorders = [JSONCaseRecorder(sout)]
        asm1.run()

        if os.environ.get('REGEN_JSON_FILES'):
            with open('nested.new', 'w') as out:
                out.write(sout.getvalue())
        verify_json(self, sout, 'nested.json')
コード例 #9
0
    def test_nested(self):
        asm3 = Assembly()
        asm3.add('comp1', ExecComp(exprs=['z=x+y']))
        driver = asm3.add('driver', SLSQPdriver())
        driver.workflow.add('comp1')
        driver.add_parameter('comp1.y', low=-1, high=1, start=0)
        driver.add_objective('comp1.z')
        driver.add_constraint('comp1.z >= 0')
        asm3.create_passthrough('comp1.x')
        asm3.create_passthrough('comp1.z')

        asm2 = Assembly()
        asm2.add('comp1', ExecComp(exprs=['z=x+y']))
        asm2.add('asm3', asm3)
        asm2.connect('comp1.z', 'asm3.x')
        driver = asm2.add('driver', SLSQPdriver())
        driver.workflow.add(('comp1', 'asm3'))
        driver.add_parameter('comp1.y', low=-1, high=1, start=0)
        driver.add_objective('asm3.z')
        driver.add_constraint('comp1.z >= 0')
        asm2.create_passthrough('comp1.x')
        asm2.create_passthrough('asm3.z')

        asm1 = set_as_top(Assembly())
        asm1.add('comp1', ExecComp(exprs=['z=x+y']))
        asm1.add('asm2', asm2)
        asm1.connect('comp1.z', 'asm2.x')
        driver = asm1.add('driver', SLSQPdriver())
        driver.workflow.add(('comp1', 'asm2'))
        driver.add_parameter('comp1.y', low=-1, high=1, start=0)
        driver.add_objective('asm2.z')
        driver.add_constraint('comp1.z >= 0')

        sout = StringIO()
        asm1.recorders = [JSONCaseRecorder(sout)]
        asm1.run()

        if os.environ.get('REGEN_JSON_FILES'):
            with open('nested.new', 'w') as out:
               out.write(sout.getvalue())
        verify_json(self, sout, 'nested.json')