Ejemplo n.º 1
0
    def setUp(self):
        self.k_x = FloatKrigingSurrogate()
        self.k_y = FloatKrigingSurrogate()

        self.k_x.train([(1, 2), (2, 3)], [2, 4])
        self.k_y.train([(1, 2), (2, 3)], [4, 7])

        self.a = set_as_top(MMTest())
Ejemplo n.º 2
0
    def test_assy_promotion(self):

        class Trig(Component):

            x = Float(0,iotype="in",units="rad")

            f_x_sin = Float(0.0,iotype="out")
            f_x_cos = Float(0.0,iotype="out")

            def execute(self):
                self.f_x_sin = .5*sin(self.x)
                self.f_x_cos = .5*cos(self.x)


        class TrigAsmb(Assembly):

            x = Float(0,iotype="in",units="rad")

            def configure(self):

                self.add('trig1', Trig())
                self.add('trig2', Trig())

                self.connect('x', 'trig1.x')
                self.connect('trig1.f_x_sin', 'trig2.x')

                self.create_passthrough('trig2.f_x_sin')
                self.create_passthrough('trig2.f_x_cos')

                self.driver.workflow.add(['trig1', 'trig2'])

        top = set_as_top(Assembly())
        top.add("trig_meta_model", MetaModel())
        top.trig_meta_model.model = TrigAsmb()
        top.trig_meta_model.surrogates['f_x_sin'] = FloatKrigingSurrogate()
        top.trig_meta_model.surrogates['f_x_cos'] = FloatKrigingSurrogate()

        # Will error if vars don't promote correctly
        top.run()
Ejemplo n.º 3
0
 def test_in_and_out_tree_multiple_surrogates(self):
     self.a.mm.model = InandOutTree()
     self.a.mm.surrogates['outs.x'] = FloatKrigingSurrogate()
     self.a.mm.surrogates['outs.y'] = KrigingSurrogate()
     self._run_sweep(self.a, 'ins.a', 'ins.b', 'outs.x', 'outs.y')
Ejemplo n.º 4
0
 def test_in_tree_only_multiple_surrogates(self):
     self.a.mm.model = InTreeOnly()
     self.a.mm.surrogates['x'] = FloatKrigingSurrogate()
     self.a.mm.surrogates['y'] = KrigingSurrogate()
     self._run_sweep(self.a, 'ins.a', 'ins.b', 'x', 'y')
Ejemplo n.º 5
0
 def configure(self):
     mm = MetaModel()
     self.add('mm', mm)
     self.mm.default_surrogate = FloatKrigingSurrogate()
     self.driver.workflow.add('mm')