コード例 #1
0
    def test_12(self, train=False, refDeriv=False):
        """
        Test 12: D8 FFD, global DVs
        """
        refFile = os.path.join(self.base_path, 'ref/test_DVGeometry_12.ref')
        with BaseRegTest(refFile, train=train) as handler:
            handler.root_print("Test 12: D8 FFD, global DVs")
            DVGeo, DVGeoChild = commonUtils.setupDVGeoD8(
                self.base_path, refDeriv)

            #create global DVs on the parent
            axisX = [0., 26., 30.5, 32.5, 34.0]
            DVGeo.addGeoDVGlobal('mainX',
                                 axisX,
                                 commonUtils.mainAxisPoints,
                                 lower=0.,
                                 upper=35.,
                                 scale=1.0)

            commonUtils.testSensitivitiesD8(DVGeo, refDeriv, handler)

            handler.root_print(
                "Test 12b: D8 FFD, random DV perturbation on test 10")
            xDV = DVGeo.getValues()
            for key in xDV:
                numpy.random.seed(42)
                xDV[key] += numpy.random.rand(len(xDV[key]))

            DVGeo.setDesignVars(xDV)
            commonUtils.testSensitivitiesD8(DVGeo, refDeriv, handler)
コード例 #2
0
    def test_20(self, train=False, refDeriv=False):
        """
        Test 20
        """
        refFile = os.path.join(self.base_path, "ref/test_DVGeometry_20.ref")
        with BaseRegTest(refFile, train=train) as handler:
            handler.root_print("Test 20: D8 + Nozzle FFD, global DVs and local DVs on parent local on child")
            DVGeo, DVGeoChild = commonUtils.setupDVGeoD8(self.base_path, refDeriv)

            # create global DVs on the parent
            axisX = [0.0, 26.0, 30.5, 32.5, 34.0]
            DVGeo.addGlobalDV("mainX", axisX, commonUtils.mainAxisPoints, lower=0.0, upper=35.0, scale=1.0)
            # create local DVs on the parent
            DVGeo.addLocalDV("xdir", lower=-1.0, upper=1.0, axis="x", scale=1.0)
            DVGeo.addLocalDV("ydir", lower=-1.0, upper=1.0, axis="y", scale=1.0)
            DVGeo.addLocalDV("zdir", lower=-1.0, upper=1.0, axis="z", scale=1.0)

            # create global DVs on the child
            DVGeoChild.addLocalDV("childxdir", lower=-1.1, upper=1.1, axis="x", scale=1.0)
            DVGeoChild.addLocalDV("childydir", lower=-1.1, upper=1.1, axis="y", scale=1.0)
            DVGeoChild.addLocalDV("childzdir", lower=-1.1, upper=1.1, axis="z", scale=1.0)

            DVGeo.addChild(DVGeoChild)

            commonUtils.testSensitivitiesD8(DVGeo, refDeriv, handler)

            handler.root_print("Test 20b: D8 + Nozzle FFD,  random DV perturbationon test 18")
            xDV = DVGeo.getValues()
            for key in xDV:
                np.random.seed(42)
                xDV[key] += np.random.rand(len(xDV[key]))

            DVGeo.setDesignVars(xDV)
            commonUtils.testSensitivitiesD8(DVGeo, refDeriv, handler)
コード例 #3
0
    def test_18(self, train=False, refDeriv=False):
        """
        Test 18
        """
        refFile = os.path.join(self.base_path, "ref/test_DVGeometry_18.ref")
        with BaseRegTest(refFile, train=train) as handler:
            handler.root_print("Test 18: D8 + Nozzle FFD, local DVs only on parent, global on child")
            DVGeo, DVGeoChild = commonUtils.setupDVGeoD8(self.base_path, refDeriv)

            # create local DVs on the parent
            DVGeo.addLocalDV("xdir", lower=-1.0, upper=1.0, axis="x", scale=1.0)
            DVGeo.addLocalDV("ydir", lower=-1.0, upper=1.0, axis="y", scale=1.0)
            DVGeo.addLocalDV("zdir", lower=-1.0, upper=1.0, axis="z", scale=1.0)

            childAxisX = [32.4, 34]
            DVGeoChild.addGlobalDV("nestedX", childAxisX, commonUtils.childAxisPoints, lower=0.0, upper=35.0, scale=1.0)

            DVGeo.addChild(DVGeoChild)

            commonUtils.testSensitivitiesD8(DVGeo, refDeriv, handler)

            handler.root_print("Test 18b: D8 + Nozzle FFD, random DV perturbationon test 16")
            xDV = DVGeo.getValues()
            for key in xDV:
                np.random.seed(42)
                xDV[key] += np.random.rand(len(xDV[key]))

            DVGeo.setDesignVars(xDV)
            commonUtils.testSensitivitiesD8(DVGeo, refDeriv, handler)
コード例 #4
0
    def test_17(self, train=False, refDeriv=False):
        """
        Test 17
        """
        refFile = os.path.join(self.base_path, "ref/test_DVGeometry_17.ref")
        with BaseRegTest(refFile, train=train) as handler:
            handler.root_print("Test 17: D8 + Nozzle FFD, local DVs only")
            DVGeo, DVGeoChild = commonUtils.setupDVGeoD8(self.base_path, refDeriv)

            # create local DVs on the parent
            DVGeo.addLocalDV("xdir", lower=-1.0, upper=1.0, axis="x", scale=1.0)
            DVGeo.addLocalDV("ydir", lower=-1.0, upper=1.0, axis="y", scale=1.0)
            DVGeo.addLocalDV("zdir", lower=-1.0, upper=1.0, axis="z", scale=1.0)

            DVGeoChild.addLocalDV("childxdir", lower=-1.1, upper=1.1, axis="x", scale=1.0)
            DVGeoChild.addLocalDV("childydir", lower=-1.1, upper=1.1, axis="y", scale=1.0)
            DVGeoChild.addLocalDV("childzdir", lower=-1.1, upper=1.1, axis="z", scale=1.0)

            DVGeo.addChild(DVGeoChild)

            commonUtils.testSensitivitiesD8(DVGeo, refDeriv, handler)

            handler.root_print("Test 17b: D8 + Nozzle FFD, random DV perturbationon test 15")
            xDV = DVGeo.getValues()
            for key in xDV:
                np.random.seed(42)
                xDV[key] += np.random.rand(len(xDV[key]))

            DVGeo.setDesignVars(xDV)
            commonUtils.testSensitivitiesD8(DVGeo, refDeriv, handler)
コード例 #5
0
    def test_14(self, train=False, refDeriv=False):
        """
        Test 14
        """
        refFile = os.path.join(self.base_path, "ref/test_DVGeometry_14.ref")
        with BaseRegTest(refFile, train=train) as handler:
            handler.root_print("Test 14: D8 + Nozzle FFD, global DVs only")
            DVGeo, DVGeoChild = commonUtils.setupDVGeoD8(self.base_path, refDeriv)

            # create global DVs on the parent
            axisX = [0.0, 26.0, 30.5, 32.5, 34.0]
            DVGeo.addGlobalDV("mainX", axisX, commonUtils.mainAxisPointsD8, lower=0.0, upper=35.0, scale=1.0)
            # create global DVs on the child
            childAxisX = [32.4, 34]
            DVGeoChild.addGlobalDV(
                "nestedX", childAxisX, commonUtils.childAxisPointsD8, lower=0.0, upper=35.0, scale=1.0
            )
            DVGeo.addChild(DVGeoChild)

            commonUtils.testSensitivitiesD8(DVGeo, refDeriv, handler)

            handler.root_print("Test 14b: D8 + Nozzle FFD, random DV perturbation on test 12")
            xDV = DVGeo.getValues()
            for key in xDV:
                np.random.seed(42)
                xDV[key] += np.random.rand(len(xDV[key]))

            DVGeo.setDesignVars(xDV)
            commonUtils.testSensitivitiesD8(DVGeo, refDeriv, handler)
コード例 #6
0
    def test_19(self, train=False, refDeriv=False):
        """
        Test 19
        """
        refFile = os.path.join(self.base_path,'ref/test_DVGeometry_19.ref')
        with BaseRegTest(refFile, train=train) as handler:
            handler.root_print("Test 19: D8 + Nozzle FFD, local DVs only on parent, global and local on child")
            DVGeo,DVGeoChild = commonUtils.setupDVGeoD8(self.base_path, refDeriv)

            #create local DVs on the parent
            DVGeo.addGeoDVLocal('xdir', lower=-1.0, upper=1.0, axis='x', scale=1.0)
            DVGeo.addGeoDVLocal('ydir', lower=-1.0, upper=1.0, axis='y', scale=1.0)
            DVGeo.addGeoDVLocal('zdir', lower=-1.0, upper=1.0, axis='z', scale=1.0)

            childAxisX = [32.4, 34]
            DVGeoChild.addGeoDVGlobal('nestedX',childAxisX, commonUtils.childAxisPoints,
                                    lower=0., upper=35., scale=1.0)
            DVGeoChild.addGeoDVLocal('childxdir', lower=-1.1, upper=1.1, axis='x', scale=1.0)
            DVGeoChild.addGeoDVLocal('childydir', lower=-1.1, upper=1.1, axis='y', scale=1.0)
            DVGeoChild.addGeoDVLocal('childzdir', lower=-1.1, upper=1.1, axis='z', scale=1.0)

            DVGeo.addChild(DVGeoChild)

            commonUtils.testSensitivitiesD8(DVGeo, refDeriv, handler)

            handler.root_print("Test 19b: D8 + Nozzle FFD,  random DV perturbationon test 17")
            xDV = DVGeo.getValues()
            for key in xDV:
                numpy.random.seed(42)
                xDV[key]+=numpy.random.rand(len(xDV[key]))

            DVGeo.setDesignVars(xDV)
            commonUtils.testSensitivitiesD8(DVGeo, refDeriv, handler)