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