def test_metadata_recorded(self):
        prob = Problem(impl=impl)
        prob.root = FanInGrouped()

        rec = DumpRecorder(out=self.filename)
        rec.options['record_metadata'] = True
        rec.options['includes'] = ['p1.x1', 'p2.x2', 'comp3.y']
        prob.driver.add_recorder(rec)

        prob.setup(check=False)
        rec.close()

        with open(self.expected_filename, 'r') as dumpfile:
            params = iteritems(prob.root.params)
            unknowns = iteritems(prob.root.unknowns)

            self.assertEqual("Metadata:\n", dumpfile.readline())
            self.assertEqual("Params:\n", dumpfile.readline())

            for name, metadata in params:
                fmat = "  {0}: {1}\n".format(name, metadata)
                self.assertEqual(fmat, dumpfile.readline())

            self.assertEqual("Unknowns:\n", dumpfile.readline())

            for name, metadata in unknowns:
                fmat = "  {0}: {1}\n".format(name, metadata)
                self.assertEqual(fmat, dumpfile.readline())
    def test_dump_converge_diverge_par(self):

        prob = Problem(impl=impl)
        prob.root = FanInGrouped()

        rec = DumpRecorder(out=self.filename)
        rec.options['record_metadata'] = False
        rec.options['record_params'] = True
        rec.options['record_resids'] = True
        rec.options['includes'] = ['p1.x1', 'p2.x2', 'comp3.y']
        prob.driver.add_recorder(rec)

        prob.setup(check=False)
        prob.run()

        with open(self.expected_filename, 'r') as dumpfile:
            dump = dumpfile.readlines()

        self.assertEqual(dump[4], '  comp3.y: 29.0\n')
        self.assertEqual(dump[5], '  p1.x1: 1.0\n')
        self.assertEqual(dump[6], '  p2.x2: 1.0\n')
Exemple #3
0
    def test_OMModelWrapper(self):
        logging.debug('')
        logging.debug('test_OMModelWrapper')

        this_dir_path = os.path.realpath(os.path.dirname(__file__))
        addl_lib_path = os.path.join(this_dir_path, 'VehicleDesign.mo')

        problem = Problem()
        root = problem.root = Group()
        test_model = OMModelWrapper('SimAcceleration', addl_lib_path)
        root.add('simacceleration', test_model)
        root.add('simtime', IndepVarComp('duration', val='15.0'))
        root.connect('simtime.duration', 'simacceleration.stopTime')

        dump_filename = 'dump.log'
        # Delete old dumpfile
        try:
            os.remove(dump_filename)
        except OSError:
            pass

        recorder = DumpRecorder(dump_filename)
        recorder.options['record_params'] = True
        recorder.options['record_metadata'] = True
        recorder.options['record_resids'] = True
        problem.driver.add_recorder(recorder)

        problem.setup()
        problem.run()

        problem.driver.recorders[0].close()

        self.assertTrue(os.path.exists(dump_filename))
        with open(dump_filename) as dumpf:
            dump = dumpf.readlines()
        self.assertTrue('  simtime.duration: 15.0\n' in dump)
        self.assertTrue(
            '  simacceleration.accel_time: [  0.   0.   0. ...,  15.  15.  15.]\n'
            in dump)
Exemple #4
0
 def setUp(self):
     self.dir = mkdtemp()
     self.filename = os.path.join(self.dir, "dump_test")
     self.recorder = DumpRecorder(self.filename)
     self.recorder.options['record_metadata'] = False
     self.eps = 1e-5