Пример #1
0
 def test_mdf_arch(self): 
     prob = SellarProblem()
     prob.architecture = MDF()
     
     prob.run()
     prob.configure()
             
     solver_params = prob.solver.get_parameters()
     coupling = prob.get_coupling_vars()
     
     params = prob.get_parameters()
     opt_params = prob.driver.get_parameters()
     
     
     self.assertEqual(set(solver_params.keys()),set(coupling.keys()))
     self.assertEqual(params,opt_params)
Пример #2
0
    def test_case_recording(self):
        cds_path = os.path.join(os.path.dirname(__file__), "cds.json")

        asm = set_as_top(SellarProblem())
        asm.architecture = MDF()
        asm.recorders = [JSONCaseRecorder(cds_path)]
        asm.run()

        cds = CaseDataset(cds_path, 'json')
        data = cds.data.by_variable().fetch()

        self.assertFalse(set(asm.solution.keys()) - set(data.keys()))

        for var in asm.solution.keys():
            self.assertTrue(data[var])
            np.allclose(data[var], asm.solution[var])

        del cds
        del data

        os.remove(cds_path)
Пример #3
0
        for j, const in enumerate(constraints):
            dg_j = [
                "ssa.dG[%d][%d]*%s" % (j, i, x) for i, x in enumerate(delta_z)
            ]
            constraint_parts = ["ssa.G[%d]" % j]
            constraint_parts.extend(dg_j)
            lin_constraint = "%s < 0" % "+".join(constraint_parts)
            sysopt.add_constraint(lin_constraint)

        #self.parent.driver.workflow.add("mda")
        self.parent.driver.workflow.add(sa_s)
        if global_dvs:
            self.parent.driver.workflow.add("ssa")
        self.parent.driver.workflow.add(bbopts)
        if global_dvs:
            self.parent.driver.workflow.add("sysopt")


if __name__ == "__main__":

    from openmdao.lib.optproblems.api import SellarProblem
    #from openmdao.main.api import ArchitectureAssembly

    sp = SellarProblem()
    sp.architecture = BLISS()

    sp.run()

    for k, v in sp.check_solution().iteritems():
        print "    ", k, ": ", v
Пример #4
0
                                      couple.dep.target))
            if comp in constraints_by_comp:
                for const in constraints_by_comp[comp]:
                    local_opt.add_constraint(str(const))

            residuals = "+".join(residuals)
            global_constraint = "%s<=0" % residuals
            global_opt.add_constraint(global_constraint)
            local_opt.add_objective(residuals)


if __name__ == "__main__":
    from openmdao.lib.optproblems.api import SellarProblem
    #from openmdao.main.api import ArchitectureAssembly

    prob = SellarProblem()

    prob.architecture = CO()

    prob.run()

    print "\n"
    print "Minimum found at (%f, %f, %f)" % (prob.dis1.z1, \
                                             prob.dis1.z2, \
                                             prob.dis1.x1)
    print "Minimum target was at (%f, %f, %f)" % (prob.global_des_var_targets[0], \
                                             prob.global_des_var_targets[1], \
                                             prob.local_des_var_targets[0])
    print "Coupling vars: %f, %f" % (prob.dis1.y1, prob.dis2.y2)
    print "Coupling var targets: %f, %f" % (prob.coupling_var_targets[0],
                                            prob.coupling_var_targets[1])