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')
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)
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