def test_get_child_cases_system(self): prob = SellarProblem(SellarDerivativesGrouped) driver = prob.driver = pyOptSparseDriver(optimizer='SLSQP') driver.options['print_results'] = False driver.opt_settings['ACC'] = 1e-9 model = prob.model model.add_recorder(self.recorder) model.nonlinear_solver.add_recorder(self.recorder) prob.setup() prob.run_driver() prob.cleanup() cr = CaseReader(self.filename) coords = [ 'rank0:SLSQP|0|root._solve_nonlinear|0|NLRunOnce|0', 'rank0:SLSQP|1|root._solve_nonlinear|1|NLRunOnce|0', 'rank0:SLSQP|2|root._solve_nonlinear|2|NLRunOnce|0', 'rank0:SLSQP|3|root._solve_nonlinear|3|NLRunOnce|0', 'rank0:SLSQP|4|root._solve_nonlinear|4|NLRunOnce|0', 'rank0:SLSQP|5|root._solve_nonlinear|5|NLRunOnce|0', 'rank0:SLSQP|6|root._solve_nonlinear|6|NLRunOnce|0' ] ind = 0 for c in cr.get_cases(recursive=True): self.assertEqual(c.iteration_coordinate, coords[ind]) ind += 1
def test_get_child_cases_system(self): self.setup_sellar_grouped_model() self.prob.driver = pyOptSparseDriver() self.prob.driver.options['optimizer'] = OPTIMIZER if OPTIMIZER == 'SLSQP': self.prob.driver.opt_settings['ACC'] = 1e-9 self.prob.model.add_recorder(self.recorder) driver = self.prob.driver self.prob.model._nonlinear_solver.add_recorder(self.recorder) self.prob.driver.options['optimizer'] = OPTIMIZER if OPTIMIZER == 'SLSQP': self.prob.driver.opt_settings['ACC'] = 1e-9 self.prob.setup(check=False) self.prob.run_driver() self.prob.cleanup() cr = CaseReader(self.filename) coords = [ 'rank0:SLSQP|0|root._solve_nonlinear|0|NLRunOnce|0', 'rank0:SLSQP|1|root._solve_nonlinear|1|NLRunOnce|0', 'rank0:SLSQP|2|root._solve_nonlinear|2|NLRunOnce|0', 'rank0:SLSQP|3|root._solve_nonlinear|3|NLRunOnce|0', 'rank0:SLSQP|4|root._solve_nonlinear|4|NLRunOnce|0', 'rank0:SLSQP|5|root._solve_nonlinear|5|NLRunOnce|0', 'rank0:SLSQP|6|root._solve_nonlinear|6|NLRunOnce|0' ] ind = 0 for c in cr.get_cases(recursive=True): self.assertEqual(c.iteration_coordinate, coords[ind]) ind += 1
def test_get_child_cases(self): prob = SellarProblem(SellarDerivativesGrouped, nonlinear_solver=NonlinearRunOnce) driver = prob.driver = pyOptSparseDriver(optimizer='SLSQP') driver.options['print_results'] = False driver.opt_settings['ACC'] = 1e-9 driver.recording_options['record_desvars'] = True driver.recording_options['record_responses'] = True driver.recording_options['record_objectives'] = True driver.recording_options['record_constraints'] = True driver.add_recorder(self.recorder) prob.setup() model = prob.model model.add_recorder(self.recorder) model.nonlinear_solver.add_recorder(self.recorder) prob.run_driver() prob.cleanup() cr = CaseReader(self.filename) expected_coords = [ 'rank0:SLSQP|0', 'rank0:SLSQP|1', 'rank0:SLSQP|2', 'rank0:SLSQP|3', 'rank0:SLSQP|4', 'rank0:SLSQP|5', 'rank0:SLSQP|6', ] ind = 0 for c in cr.get_cases(): self.assertEqual(c.iteration_coordinate, expected_coords[ind]) ind += 1 coords_2 = [ 'rank0:SLSQP|0', 'rank0:SLSQP|0|root._solve_nonlinear|0|NLRunOnce|0', 'rank0:SLSQP|1', 'rank0:SLSQP|1|root._solve_nonlinear|1|NLRunOnce|0', 'rank0:SLSQP|2', 'rank0:SLSQP|2|root._solve_nonlinear|2|NLRunOnce|0', 'rank0:SLSQP|3', 'rank0:SLSQP|3|root._solve_nonlinear|3|NLRunOnce|0', 'rank0:SLSQP|4', 'rank0:SLSQP|4|root._solve_nonlinear|4|NLRunOnce|0', 'rank0:SLSQP|5', 'rank0:SLSQP|5|root._solve_nonlinear|5|NLRunOnce|0', 'rank0:SLSQP|6', 'rank0:SLSQP|6|root._solve_nonlinear|6|NLRunOnce|0' ] ind = 0 for c in cr.get_cases(recursive=True): self.assertEqual(c.iteration_coordinate, coords_2[ind]) ind += 1 coord_children = [ 'rank0:SLSQP|0|root._solve_nonlinear|0|NLRunOnce|0' ] for c in cr.get_cases('rank0:SLSQP|0', True): self.assertEqual(c.iteration_coordinate, coord_children[0])
def test_get_child_cases(self): self.setup_sellar_grouped_model() self.prob.driver = pyOptSparseDriver() self.prob.driver.options['optimizer'] = OPTIMIZER if OPTIMIZER == 'SLSQP': self.prob.driver.opt_settings['ACC'] = 1e-9 self.prob.driver.add_recorder(self.recorder) self.prob.model.add_recorder(self.recorder) driver = self.prob.driver driver.recording_options['record_desvars'] = True driver.recording_options['record_responses'] = True driver.recording_options['record_objectives'] = True driver.recording_options['record_constraints'] = True self.prob.model._nonlinear_solver.add_recorder(self.recorder) self.prob.driver.options['optimizer'] = OPTIMIZER if OPTIMIZER == 'SLSQP': self.prob.driver.opt_settings['ACC'] = 1e-9 self.prob.setup(check=False) self.prob.run_driver() self.prob.cleanup() cr = CaseReader(self.filename) expected_coords = [ 'rank0:SLSQP|0', 'rank0:SLSQP|1', 'rank0:SLSQP|2', 'rank0:SLSQP|3', 'rank0:SLSQP|4', 'rank0:SLSQP|5', 'rank0:SLSQP|6', ] ind = 0 for c in cr.get_cases(): self.assertEqual(c.iteration_coordinate, expected_coords[ind]) ind += 1 coords_2 = [ 'rank0:SLSQP|0', 'rank0:SLSQP|0|root._solve_nonlinear|0|NLRunOnce|0', 'rank0:SLSQP|1', 'rank0:SLSQP|1|root._solve_nonlinear|1|NLRunOnce|0', 'rank0:SLSQP|2', 'rank0:SLSQP|2|root._solve_nonlinear|2|NLRunOnce|0', 'rank0:SLSQP|3', 'rank0:SLSQP|3|root._solve_nonlinear|3|NLRunOnce|0', 'rank0:SLSQP|4', 'rank0:SLSQP|4|root._solve_nonlinear|4|NLRunOnce|0', 'rank0:SLSQP|5', 'rank0:SLSQP|5|root._solve_nonlinear|5|NLRunOnce|0', 'rank0:SLSQP|6', 'rank0:SLSQP|6|root._solve_nonlinear|6|NLRunOnce|0' ] ind = 0 for c in cr.get_cases(recursive=True): self.assertEqual(c.iteration_coordinate, coords_2[ind]) ind += 1 coord_children = [ 'rank0:SLSQP|0|root._solve_nonlinear|0|NLRunOnce|0' ] for c in cr.get_cases('rank0:SLSQP|0', True): self.assertEqual(c.iteration_coordinate, coord_children[0])