def runBenchmark(self,benchmark,stdout): config = self.getConfiguration() testCase = TestCase(config,stdout) testCase.prepare(benchmark) self.scanFedSizes(benchmark,testCase) testCase.destroy()
def main(): with open("testfiles/parsing/Valid.txt", "r") as testfile: blueprint = TestCase.parse_syntax(testfile) if blueprint is not None: tc = TestCase(blueprint) dr = Driver(tc) dr.execute()
def api_getTests(): clientId = request.args.get('ip', None) response = [] if (clientId == None): bank = TestCase.LoadFromDisk("config/profiles/" + serverGlobalConfig['profile'] + "/tests/testbank.ini") else: bank = TestCase.LoadFromDisk("config/profiles/" + serverGlobalConfig['profile'] + "/clients/" + clientId + ".ini") for t in bank: response.append(t.toJSON()) return json.dumps(response)
def new_test_case(self, state): file_path = M4.path_join(self.package_path_, f'{self.file_id_}.c') self.file_id_ += 1 return TestCase(file_path, state.seq_, random.randint(1, 100000000))
def __add_input_files(self, test_cases, script_name, test_path): # Enumerate the input files: input_dir = os.path.join(test_path, TestSuite.INPUT_DIR) exp_path = os.path.join(test_path, TestSuite.EXPECTED_DIR) output_path = os.path.join(test_path, TestSuite.OUTPUT_DIR) err_path = os.path.join(test_path, TestSuite.ERROR_DIR) input_files = glob.glob(os.path.join(input_dir, '*')) # print("Input files:",input_files) for input_path in input_files: filename = os.path.basename( input_path) # filename without path, basically type_match = TestSuite.INPUT_TYPE_RE.match(filename) if type_match == None or len(type_match.groups()) != 2: raise RuntimeError( """File %s in directory %s unexpected: """ """the filename did not match the pattern %s.""" % (filename, input_dir, TestSuite.INPUT_TYPE_RE_PTN)) # test_name = self.script_name+"-"+type_match.group(1) test_name = type_match.group(1) input_type = type_match.group(2) test_case = test_cases.setdefault( test_name, TestCase(test_name, script_name, exp_path, output_path, err_path)) test_case.add_input(input_type, input_path)
def test_get_by_name_and_file_id_exists(with_database): file = SourceFile.get_by_file_path("one.r") testCase = TestCase.get_by_name_and_file_id("first_test", file.fileID) assert testCase is not None assert testCase.name == "first_test" assert file.fileID in testCase.fileIdsExercised
def __add_resource_files(self,test_cases,script_name,test_path): exp_path = os.path.join(test_path, TestSuite.EXPECTED_DIR) output_path = os.path.join(test_path, TestSuite.OUTPUT_DIR) err_path = os.path.join(test_path, TestSuite.ERROR_DIR) resource_path = os.path.join(test_path, TestSuite.RESOURCE_DIR) resource_dir_files = os.path.join(resource_path, '*') resource_files = glob.glob(resource_dir_files) # test_name-file_name.extension # resources that will be copied into the resource dir for resource_path in resource_files: filename = os.path.basename(resource_path) res_match = TestSuite.RESOURCE_RE.match(filename) if res_match==None: # add to each testcase for test_name, test_case in test_cases.items(): test_case.add_resource(resource_path) # old behavior: # raise RuntimeError("""Unexpected resource: %s.""" # """Resources must be named <testname>-<resource_filename>""" # """with no dash in filename or ext""" % (filename, )) # test_name = script_name+"-"+res_match.group(1) else: test_name = res_match.group(1) # print('test_name',test_name,resource_path) test_case = test_cases.setdefault(test_name , TestCase(test_name,script_name,exp_path,output_path,err_path) ) test_case.add_resource(resource_path)
def storeMappingInDatabase(testToSourceMapping): for test in testToSourceMapping.keys(): testCase = TestCase.get_by_name(test) for func in testToSourceMapping[test]: function = Function.get_by_name(func) mapping = testCase.get_mapping(function) if not mapping: testCase.create_mapping(function)
def test_create_mapping_between_test_and_function(with_database): file = SourceFile.get_by_file_path("one.r") testCase = TestCase.create("apoijwdapoijwd", file.fileID) function = Function.create("paoiwdjaowidj", file.fileID) testCase.create_mapping(function) function = Function.get_by_name_and_file_id(function.name, file.fileID) assert testCase.name in function.testCaseNames
def test_assigns_all_fields_but_exercised_with_mappings(with_database): file = SourceFile.create("blah.r", 0, ".") testCase = TestCase.create("apoijwdapoijwd", file.fileID) assert testCase.filesExercised is None or len(testCase.filesExercised) == 0 assert testCase.functionsExercised is None or len( testCase.functionsExercised) == 0 assert testCase.fileIdsExercised is not None and file.fileID in testCase.fileIdsExercised assert testCase.testCaseID is not None assert testCase.name is not None
def load(self, fileName): fp = open(fileName, "r") jsonData = json.load(fp) name = jsonData["name"] timeLimit = int(jsonData["timeLimit"]) droneList = jsonData["drones"] noFlyZones = jsonData["noFlyZones"] mannedAviation = jsonData["mannedAviation"] drones = self.parseDrones(droneList) testCase = TestCase(name, timeLimit, drones, noFlyZones, mannedAviation) return testCase
def handle_starttag(self, tag, attrs): if tag == 'div': if attrs == [('class', 'input')]: self.curData = "" self.dataType = 'input' self.curTestCase = TestCase("", "") elif attrs == [('class', 'output')]: self.curData = "" self.dataType = 'output' elif tag == 'pre': if self.curTestCase is not None: self.is_copying = True
def test_assigns_all_fields_with_mappings(with_database): file = SourceFile.get_by_file_path("one.r") testCase = TestCase.create("apoijwdapoijwd", file.fileID) function = Function.create("paoiwdjaowidj", file.fileID) testCase.create_mapping(function) assert testCase.filesExercised is not None assert testCase.functionsExercised is not None assert testCase.fileIdsExercised is not None assert testCase.testCaseID is not None assert testCase.name is not None
def main(): numTestCases = int(input()) testCaseList = [] for i in range(numTestCases): nEngine = int(input()) engineDict = {} queryList = [] for j in range(nEngine): engineDict[input().rstrip('\n')] = j nQuery = int(input()) for _ in range(nQuery): queryList.append(engineDict[input().rstrip('\n')]) testCaseList.append( TestCase(i + 1, nEngine, engineDict, nQuery, queryList)) testCaseList[-1].findMinimalSwitch()
def start_device_test(device: Android_Device): if not device.isOnline(): return connected_device = uiautomator2.connect_usb(serial=device.device_serial) Utils.set_device_never_sleep(device.device_serial) # 2. 获取 app 信息 app_info = get_app_info(connected_device, current_test_package) # 3. 执行收集手机log的任务 """ 暂时以线程的方式实现 """ thread = threading.Thread(target=catch_device_log, args=(device, current_test_package)) thread.start() # 4. 切换设备的 WiFi wifi_list = Utils.parse_wifi_list_json() for wifi_item in wifi_list: # connect_to_wifi(wifi_item.ssid, wifi_item.password) print("the current test wifi item: " + str(wifi_item)) connect_to_wifi(device.device_serial, wifi_item.ssid, wifi_item.password) connected_device.press("home") """ """ time.sleep(3) for i in range(4): time.sleep(3) test_result = execute_cmd( start_and_stop_app(device.device_serial, current_test_package)) test_case = TestCase(device, app_info, test_result="pass", wifi_info=wifi_item, failed_reason="") test_case_list.append(test_case) print("the test result: " + str(test_result)) print(connected_device.device_info)
def run(self, stdout): logging.info("RestartableRunner.run() called") self.testRunner.startLaunchers() # TODO: check if all launchers are responding (with timeout) # instead of waiting for a fixed amount of time time.sleep(5) configData = self.testRunner.getAllConfigurations()[0] config = configData['config'] testName = configData['name'] try: while not self.stopFlag: try: self.testCase = TestCase(config, stdout, afterStartupCallback=self.afterStartupCallback) self.testCase.prepare(testName) fragSize = self.testRunner.getFedSizes() assert len(fragSize) == 1 fragSize = fragSize[0] fragSizeRMS = int(fragSize * self.testRunner.args['rms']) # this should only terminate when the user terminates the optimization self.testCase.runScan(fragSize, fragSizeRMS, self.testRunner.args) # evb was stopped self.evbStarted.clear() self.evbStopped.set() self.testCase.destroy() self.testCase = None except BadConfig: self.stopFlag = True sys.exit(1) finally: self.testRunner.stopLaunchers()
def mapTestsToFunctions(mapping, tests): testMapping = dict() for test in tests.keys(): functions = set() for func in mapping.keys(): if func in tests[test]: functions.add(func) functions.update(mapping[func]) testMapping[test] = functions for test in testMapping.keys(): print(test + " calls " + str(testMapping[test])) for test in testMapping.keys(): for func in testMapping[test]: function = Function.get_by_name(func) testCase = TestCase.get_by_name(test) testCase.create_mapping(function) return testMapping
class TestCaseTest(TestCase): def setUp(self): self.result = TestResult() def testTemplateMethod(self): test = WasRun("testMethod") test.run(self.result) assert "setUp testMethod tearDown" == test.log def testResult(self): test = WasRun("testMethod") test.run(self.result) assert "1 run, 0 failed" == self.result.summary() def testFailedResultFormatting(self): self.result.testStarted() self.result.testFailed() assert "1 run, 1 failed" == self.result.summary() def testFailedResult(self): self.test = WasRun("testBrokenMethod") self.test.run(self.result) assert "1 run, 1 failed" == self.result.summary() def checkForLog(self): self.test = WasRun("testMethod") self.test.run(self.result) assert path.isfile("C:/Nathans Python Folder/log.txt") def testSetUpException(self): self.test = TestCase("setUp") self.test.run(self.result) assert "1 run, 1 failed" == self.result.summary() def testSuite(self): suite = TestSuite() suite.add(TestCaseTest("testFailedResultFormatting")) suite.add(TestCaseTest("setUp")) suite.add(TestCaseTest("testTemplateMethod")) suite.add(WasRun("testMethod")) suite.add(TestCaseTest("testResult")) suite.add(WasRun("testBrokenMethod")) suite.add(TestCaseTest("testSetUpException")) suite.run(self.result) assert "6 run, 2 failed" == self.result.summary()
def loadConfig(self): for r in range(0, 4): stars = ".*" * r fname = self.address.rsplit(".", r)[0] + stars + ".ini" if os.path.exists( os.path.join("config/profiles/", serverGlobalConfig['profile'], "clients", fname)): self.configPath = os.path.join("config/profiles/", serverGlobalConfig['profile'], "clients", fname) break print "Loading %s for client %s" % (self.configPath, self.address) if not self.configPath.startswith("config/profiles/" + serverGlobalConfig['profile'] + "/clients/" + self.address + ".ini"): shutil.copyfile( self.configPath, "config/profiles/" + serverGlobalConfig['profile'] + "/clients/" + self.address + ".ini") self.configPath = "config/profiles/" + serverGlobalConfig[ 'profile'] + "/clients/" + self.address + ".ini" return TestCase.LoadFromDisk(self.configPath)
def build_global_testcase_list(): """ Query Database get TestCase objects set. This set include all candidate records to compare. """ make_final_select_query() cnx = database.open_query() cursor = cnx.cursor() print(final_select_string) cursor.execute(final_select_string) testcase_list = list() for (submission_id, arch, product, release, host, log_url, testsuite, test_time, failed, testcase, kernel_version) in cursor: testcase_list.append(TestCase(submission_id, arch, product, release, host, log_url, testsuite, test_time, testcase,kernel_version)) #groups = defaultdict(list) #for obj in testcase_list: # groups[obj.kernel_version+obj.product+obj.release].append(obj) #new_list = groups.values() #a = OrderedDict(new_list) #groups = OrderedDict() #for obj in testcase_list: # groups[obj.kernel_version+obj.product+obj.release].append(obj) #new_list = groups.values() """ TestCase_global_list_array looks like: """ groups = DefaultOrderedDict(list) for obj in testcase_list: groups[obj.kernel_version+obj.product+obj.release].append(obj) new_list = groups.values() global TestCase_global_list_array TestCase_global_list_array = new_list
def __init__(self, name): TestCase.__init__(self, name)
def main(): '''This program runs SU^2 and ensures that the output matches specified values. This will be used to do nightly checks to make sure nothing is broken. ''' workdir = os.getcwd() # environment variables for SU2 os.environ['SU2_HOME'] = '/home/ale11/.cruise/projects/parallel_regression/work/SU2' os.environ['SU2_RUN'] = '/home/ale11/.cruise/projects/parallel_regression/work/SU2/bin' os.environ['PATH'] = os.environ['PATH'] + ':' + os.environ['SU2_RUN'] # sync SU2 repo os.chdir( os.environ['SU2_HOME'] ) os.system('git pull') # Build SU2_CFD in parallel using autoconf os.system('./configure --prefix=$SU2_HOME --with-MPI=mpicxx CXXFLAGS="-O3"') os.system('make clean') os.system('make install') os.chdir(os.environ['SU2_RUN']) if not os.path.exists("./SU2_CFD"): print 'Could not build SU2_CFD' sys.exit(1) if not os.path.exists("./SU2_PRT"): print 'Could not build SU2_PRT' sys.exit(1) os.chdir(workdir) test_list = [] ########################## ### Compressible Euler ### ########################## # Channel channel = TestCase('channel') channel.cfg_dir = "euler/channel" channel.cfg_file = "inv_channel_RK.cfg" channel.test_iter = 100 channel.test_vals = [-2.413846,2.965840,0.007590,0.051651] channel.su2_exec = "parallel_computation.py -f" channel.timeout = 1600 channel.tol = 0.00001 test_list.append(channel) # NACA0012 naca0012 = TestCase('naca0012') naca0012.cfg_dir = "euler/naca0012" naca0012.cfg_file = "inv_NACA0012_Roe.cfg" naca0012.test_iter = 100 naca0012.test_vals = [-6.145865,-5.547701,0.334821,0.022211] naca0012.su2_exec = "parallel_computation.py -f" naca0012.timeout = 1600 naca0012.tol = 0.00001 test_list.append(naca0012) # Supersonic wedge wedge = TestCase('wedge') wedge.cfg_dir = "euler/wedge" wedge.cfg_file = "inv_wedge_HLLC.cfg" wedge.test_iter = 100 wedge.test_vals = [-2.694577,3.148295,-0.252137,0.044398] wedge.su2_exec = "parallel_computation.py -f" wedge.timeout = 1600 wedge.tol = 0.00001 test_list.append(wedge) # ONERA M6 Wing oneram6 = TestCase('oneram6') oneram6.cfg_dir = "euler/oneram6" oneram6.cfg_file = "inv_ONERAM6_JST.cfg" oneram6.test_iter = 10 oneram6.test_vals = [-4.825465,-4.290835,0.287910,0.015977] oneram6.su2_exec = "parallel_computation.py -f" oneram6.timeout = 3200 oneram6.tol = 0.00001 test_list.append(oneram6) ########################## ### Compressible N-S ### ########################## # Laminar flat plate flatplate = TestCase('flatplate') flatplate.cfg_dir = "navierstokes/flatplate" flatplate.cfg_file = "lam_flatplate.cfg" flatplate.test_iter = 100 flatplate.test_vals = [-5.232884,0.263297,0.020756,0.012889] flatplate.su2_exec = "parallel_computation.py -f" flatplate.timeout = 1600 flatplate.tol = 0.00001 test_list.append(flatplate) # Laminar cylinder (steady) cylinder = TestCase('cylinder') cylinder.cfg_dir = "navierstokes/cylinder" cylinder.cfg_file = "lam_cylinder.cfg" cylinder.test_iter = 25 cylinder.test_vals = [-6.764733,-1.319817,0.096432,-1.542095] cylinder.su2_exec = "parallel_computation.py -f" cylinder.timeout = 1600 cylinder.tol = 0.00001 test_list.append(cylinder) ########################## ### Compressible RANS ### ########################## # RAE2822 rae2822 = TestCase('rae2822') rae2822.cfg_dir = "rans/rae2822" rae2822.cfg_file = "turb_SA_RAE2822.cfg" rae2822.test_iter = 100 rae2822.test_vals = [-3.650797,-5.455693,0.886602,0.024346 ] #last 4 columns rae2822.su2_exec = "parallel_computation.py -f" rae2822.timeout = 1600 rae2822.tol = 0.00001 test_list.append(rae2822) # Flat plate turb_flatplate = TestCase('turb_flatplate') turb_flatplate.cfg_dir = "rans/flatplate" turb_flatplate.cfg_file = "turb_SA_flatplate.cfg" turb_flatplate.test_iter = 100 turb_flatplate.test_vals = [-5.079817,-7.339735,0.000536,0.010776] #last 4 columns turb_flatplate.su2_exec = "parallel_computation.py -f" turb_flatplate.timeout = 1600 turb_flatplate.tol = 0.00001 test_list.append(turb_flatplate) # ONERA M6 Wing turb_oneram6 = TestCase('turb_oneram6') turb_oneram6.cfg_dir = "rans/oneram6" turb_oneram6.cfg_file = "turb_ONERAM6.cfg" turb_oneram6.test_iter = 10 turb_oneram6.test_vals = [-2.343660,-6.584582,0.230390,0.155770] #last 4 columns turb_oneram6.su2_exec = "parallel_computation.py -f" turb_oneram6.timeout = 3200 turb_oneram6.tol = 0.00001 test_list.append(turb_oneram6) # NACA0012 turb_naca0012 = TestCase('turb_naca0012') turb_naca0012.cfg_dir = "rans/naca0012" turb_naca0012.cfg_file = "turb_NACA0012.cfg" turb_naca0012.test_iter = 20 turb_naca0012.test_vals = [-2.824685,-7.364142,-0.000065,0.803140] #last 4 columns turb_naca0012.su2_exec = "parallel_computation.py -f" turb_naca0012.timeout = 3200 turb_naca0012.tol = 0.00001 test_list.append(turb_naca0012) ############################ ### Incompressible RANS ### ############################ # NACA0012 inc_turb_naca0012 = TestCase('inc_turb_naca0012') inc_turb_naca0012.cfg_dir = "incomp_rans/naca0012" inc_turb_naca0012.cfg_file = "naca0012.cfg" inc_turb_naca0012.test_iter = 20 inc_turb_naca0012.test_vals = [-4.709959,-11.007389,0.000012,0.211081] #last 4 columns inc_turb_naca0012.su2_exec = "parallel_computation.py -f" inc_turb_naca0012.timeout = 1600 inc_turb_naca0012.tol = 0.00001 test_list.append(inc_turb_naca0012) ##################################### ### Cont. adj. compressible Euler ### ##################################### # Inviscid NACA0012 (To be validated with finite differences) contadj_naca0012 = TestCase('contadj_naca0012') contadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" contadj_naca0012.cfg_file = "inv_NACA0012.cfg" contadj_naca0012.test_iter = 5 contadj_naca0012.test_vals = [-10.108904,-15.604585,0.006153,0.522960] #last 4 columns contadj_naca0012.su2_exec = "parallel_computation.py -f" contadj_naca0012.timeout = 1600 contadj_naca0012.tol = 0.00001 test_list.append(contadj_naca0012) # Inviscid ONERA M6 contadj_oneram6 = TestCase('contadj_oneram6') contadj_oneram6.cfg_dir = "cont_adj_euler/oneram6" contadj_oneram6.cfg_file = "inv_ONERAM6.cfg" contadj_oneram6.test_iter = 5 contadj_oneram6.test_vals = [-6.385873,-6.531040,-0.000023,0.147770] #last 4 columns contadj_oneram6.su2_exec = "parallel_computation.py -f" contadj_oneram6.timeout = 1600 contadj_oneram6.tol = 0.00001 test_list.append(contadj_oneram6) ################################### ### Cont. adj. compressible N-S ### ################################### # Adjoint laminar cylinder contadj_ns_cylinder = TestCase('contadj_ns_cylinder') contadj_ns_cylinder.cfg_dir = "cont_adj_navierstokes/cylinder" contadj_ns_cylinder.cfg_file = "lam_cylinder.cfg" contadj_ns_cylinder.test_iter = 100 contadj_ns_cylinder.test_vals = [-0.236174,-5.631193,0.031920,25.060000] #last 4 columns contadj_ns_cylinder.su2_exec = "parallel_computation.py -f" contadj_ns_cylinder.timeout = 1600 contadj_ns_cylinder.tol = 0.00001 test_list.append(contadj_ns_cylinder) # Adjoint laminar naca0012 contadj_ns_naca0012 = TestCase('contadj_ns_naca0012') contadj_ns_naca0012.cfg_dir = "cont_adj_navierstokes/naca0012" contadj_ns_naca0012.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012.test_iter = 100 contadj_ns_naca0012.test_vals = [-4.686123,-10.145232,0.013057,0.184800] #last 4 columns contadj_ns_naca0012.su2_exec = "parallel_computation.py -f" contadj_ns_naca0012.timeout = 1600 contadj_ns_naca0012.tol = 0.00001 test_list.append(contadj_ns_naca0012) ####################################################### ### Cont. adj. compressible RANS (frozen viscosity) ### ####################################################### # Adjoint turbulent NACA0012 (To be validated with finite differences) contadj_rans_naca0012 = TestCase('contadj_rans_naca0012') contadj_rans_naca0012.cfg_dir = "cont_adj_rans/naca0012" contadj_rans_naca0012.cfg_file = "turb_nasa.cfg" contadj_rans_naca0012.test_iter = 100 contadj_rans_naca0012.test_vals = [-4.351187,-8.921444,1.181000,-2.540200] #last 4 columns contadj_rans_naca0012.su2_exec = "parallel_computation.py -f" contadj_rans_naca0012.timeout = 1600 contadj_rans_naca0012.tol = 0.00001 test_list.append(contadj_rans_naca0012) ####################################### ### Cont. adj. incompressible Euler ### ####################################### # Adjoint Incompressible Inviscid NACA0012 contadj_incomp_NACA0012 = TestCase('contadj_incomp_NACA0012') contadj_incomp_NACA0012.cfg_dir = "cont_adj_incomp_euler/naca0012" contadj_incomp_NACA0012.cfg_file = "incomp_NACA0012.cfg" contadj_incomp_NACA0012.test_iter = 140 contadj_incomp_NACA0012.test_vals = [-7.613876,-7.157641,0.011112,0.000000] #last 4 columns contadj_incomp_NACA0012.su2_exec = "parallel_computation.py -f" contadj_incomp_NACA0012.timeout = 1600 contadj_incomp_NACA0012.tol = 0.00001 test_list.append(contadj_incomp_NACA0012) ##################################### ### Cont. adj. incompressible N-S ### ##################################### # Adjoint Incompressible Viscous Cylinder contadj_incomp_cylinder = TestCase('contadj_incomp_cylinder') contadj_incomp_cylinder.cfg_dir = "cont_adj_incomp_navierstokes/cylinder" contadj_incomp_cylinder.cfg_file = "lam_incomp_cylinder.cfg" contadj_incomp_cylinder.test_iter = 25 contadj_incomp_cylinder.test_vals = [-9.002264,-10.002274,0.048091,0.000000 ] #last 4 columns contadj_incomp_cylinder.su2_exec = "parallel_computation.py -f" contadj_incomp_cylinder.timeout = 1600 contadj_incomp_cylinder.tol = 0.00001 test_list.append(contadj_incomp_cylinder) ###################################### ### Thermochemical Nonequilibrium ### ###################################### # RAM-C II Sphere-Cone -- 61km Altitude ramc = TestCase('ramc') ramc.cfg_dir = "tne2/ramc" ramc.cfg_file = "ramc61km.cfg" ramc.test_iter = 25 ramc.test_vals = [-4.638119,2.854417,-4.439634,0.000188] ramc.su2_exec = "parallel_computation.py -f" ramc.timeout = 1600 ramc.tol = 0.00001 test_list.append(ramc) ###################################### ### Moving Wall ### ###################################### # Lid-driven cavity cavity = TestCase('cavity') cavity.cfg_dir = "moving_wall/cavity" cavity.cfg_file = "lam_cavity.cfg" cavity.test_iter = 25 cavity.test_vals = [-5.756437,-0.316355,-0.152010,-3.755979] cavity.su2_exec = "parallel_computation.py -f" cavity.timeout = 1600 cavity.tol = 0.00001 test_list.append(cavity) # Spinning cylinder spinning_cylinder = TestCase('spinning_cylinder') spinning_cylinder.cfg_dir = "moving_wall/spinning_cylinder" spinning_cylinder.cfg_file = "spinning_cylinder.cfg" spinning_cylinder.test_iter = 25 spinning_cylinder.test_vals = [-6.629674,-1.200221,8.693302,0.326125] spinning_cylinder.su2_exec = "parallel_computation.py -f" spinning_cylinder.timeout = 1600 spinning_cylinder.tol = 0.00001 test_list.append(spinning_cylinder) ###################################### ### Unsteady ### ###################################### # Square cylinder square_cylinder = TestCase('square_cylinder') square_cylinder.cfg_dir = "unsteady/square_cylinder" square_cylinder.cfg_file = "turb_square.cfg" square_cylinder.test_iter = 3 square_cylinder.test_vals = [-1.585044,-1.425751,1.490389,2.340439] square_cylinder.su2_exec = "parallel_computation.py -f" square_cylinder.timeout = 1600 square_cylinder.tol = 0.00001 test_list.append(square_cylinder) ###################################### ### RUN TESTS ### ###################################### pass_list = [ test.run_test() for test in test_list ] if all(pass_list): sys.exit(0) else: sys.exit(1)
def main(): '''This program runs SU2 and ensures that the output matches specified values. This will be used to do nightly checks to make sure nothing is broken. ''' workdir = os.getcwd() # environment variables for SU2 os.environ['TEST_HOME'] = '/home/ale11/.cruise/projects/serial_regression/work' os.environ['SU2_HOME'] = '/home/ale11/.cruise/projects/serial_regression/work/SU2' os.environ['SU2_RUN'] = '/home/ale11/.cruise/projects/serial_regression/work/SU2/bin' os.environ['PATH'] = os.environ['PATH'] + ':' + os.environ['SU2_RUN'] # sync Test Cases repo os.chdir( os.environ['TEST_HOME'] ) os.system('git fetch') os.system('git checkout develop') os.system('git pull origin develop') # sync SU2 repo os.chdir( os.environ['SU2_HOME'] ) os.system('git fetch') os.system('git checkout develop') os.system('git pull origin develop') # Build SU2_CFD in serial using autoconf os.system('./configure --prefix=$SU2_HOME CXXFLAGS="-O3"') os.system('make clean') os.system('make install') os.chdir(os.environ['SU2_RUN']) if not os.path.exists("./SU2_CFD"): print 'Could not build SU2_CFD' sys.exit(1) os.chdir(workdir) test_list = [] ########################## ### Compressible Euler ### ########################## # Channel channel = TestCase('channel') channel.cfg_dir = "euler/channel" channel.cfg_file = "inv_channel_RK.cfg" channel.test_iter = 100 channel.test_vals = [-3.110240, 2.263506, 0.008686, 0.029098] #last 4 columns channel.su2_exec = "SU2_CFD" channel.timeout = 1600 channel.tol = 0.00001 test_list.append(channel) # NACA0012 naca0012 = TestCase('naca0012') naca0012.cfg_dir = "euler/naca0012" naca0012.cfg_file = "inv_NACA0012_Roe.cfg" naca0012.test_iter = 100 naca0012.test_vals = [-6.191618, -5.592802, 0.334809, 0.022197] #last 4 columns naca0012.su2_exec = "SU2_CFD" naca0012.timeout = 1600 naca0012.tol = 0.00001 test_list.append(naca0012) # Supersonic wedge wedge = TestCase('wedge') wedge.cfg_dir = "euler/wedge" wedge.cfg_file = "inv_wedge_HLLC.cfg" wedge.test_iter = 100 wedge.test_vals = [-1.711318, 3.913749, -0.252131, 0.044402] #last 4 columns wedge.su2_exec = "SU2_CFD" wedge.timeout = 1600 wedge.tol = 0.00001 test_list.append(wedge) # ONERA M6 Wing oneram6 = TestCase('oneram6') oneram6.cfg_dir = "euler/oneram6" oneram6.cfg_file = "inv_ONERAM6_JST.cfg" oneram6.test_iter = 10 oneram6.test_vals = [-4.704347, -4.159916, 0.271678, 0.018869] #last 4 columns oneram6.su2_exec = "SU2_CFD" oneram6.timeout = 9600 oneram6.tol = 0.00001 test_list.append(oneram6) ########################## ### Compressible N-S ### ########################## # Laminar flat plate flatplate = TestCase('flatplate') flatplate.cfg_dir = "navierstokes/flatplate" flatplate.cfg_file = "lam_flatplate.cfg" flatplate.test_iter = 100 flatplate.test_vals = [-5.231916, 0.261866, -0.166832, 0.012717] #last 4 columns flatplate.su2_exec = "SU2_CFD" flatplate.timeout = 1600 flatplate.tol = 0.00001 test_list.append(flatplate) # Laminar cylinder (steady) cylinder = TestCase('cylinder') cylinder.cfg_dir = "navierstokes/cylinder" cylinder.cfg_file = "lam_cylinder.cfg" cylinder.test_iter = 25 cylinder.test_vals = [-6.765426, -1.297422, 0.019496, 0.310082] #last 4 columns cylinder.su2_exec = "SU2_CFD" cylinder.timeout = 1600 cylinder.tol = 0.00001 test_list.append(cylinder) ########################## ### Compressible RANS ### ########################## # RAE2822 SA rae2822_sa = TestCase('rae2822_sa') rae2822_sa.cfg_dir = "rans/rae2822" rae2822_sa.cfg_file = "turb_SA_RAE2822.cfg" rae2822_sa.test_iter = 100 rae2822_sa.test_vals = [-3.442524, -5.441383, 0.884279, 0.024730] #last 4 columns rae2822_sa.su2_exec = "SU2_CFD" rae2822_sa.timeout = 1600 rae2822_sa.tol = 0.00001 test_list.append(rae2822_sa) # RAE2822 SST rae2822_sst = TestCase('rae2822_sst') rae2822_sst.cfg_dir = "rans/rae2822" rae2822_sst.cfg_file = "turb_SST_RAE2822.cfg" rae2822_sst.test_iter = 100 rae2822_sst.test_vals = [-1.185243, 4.018464, 0.886786, 0.024927] #last 4 columns rae2822_sst.su2_exec = "SU2_CFD" rae2822_sst.timeout = 1600 rae2822_sst.tol = 0.00001 test_list.append(rae2822_sst) # Flat plate turb_flatplate = TestCase('turb_flatplate') turb_flatplate.cfg_dir = "rans/flatplate" turb_flatplate.cfg_file = "turb_SA_flatplate.cfg" turb_flatplate.test_iter = 100 turb_flatplate.test_vals = [-5.069447, -7.354601, -0.187187, 0.010831] #last 4 columns turb_flatplate.su2_exec = "SU2_CFD" turb_flatplate.timeout = 1600 turb_flatplate.tol = 0.00001 test_list.append(turb_flatplate) # ONERA M6 Wing turb_oneram6 = TestCase('turb_oneram6') turb_oneram6.cfg_dir = "rans/oneram6" turb_oneram6.cfg_file = "turb_ONERAM6.cfg" turb_oneram6.test_iter = 10 turb_oneram6.test_vals = [-2.327509, -6.563372, 0.230438, 0.155815]#last 4 columns turb_oneram6.su2_exec = "SU2_CFD" turb_oneram6.timeout = 3200 turb_oneram6.tol = 0.00001 test_list.append(turb_oneram6) # NACA0012 (SA, FUN3D results: CL=1.0983, CD=0.01242) turb_naca0012_sa = TestCase('turb_naca0012_sa') turb_naca0012_sa.cfg_dir = "rans/naca0012" turb_naca0012_sa.cfg_file = "turb_NACA0012_sa.cfg" turb_naca0012_sa.test_iter = 20 turb_naca0012_sa.test_vals = [-6.607227, -9.778334, 1.098508, 0.012417] #last 4 columns turb_naca0012_sa.su2_exec = "SU2_CFD" turb_naca0012_sa.timeout = 3200 turb_naca0012_sa.tol = 0.00001 test_list.append(turb_naca0012_sa) # NACA0012 (SST, FUN3D results: CL=1.0840, CD=0.01253) turb_naca0012_sst = TestCase('turb_naca0012_sst') turb_naca0012_sst.cfg_dir = "rans/naca0012" turb_naca0012_sst.cfg_file = "turb_NACA0012_sst.cfg" turb_naca0012_sst.test_iter = 20 turb_naca0012_sst.test_vals = [-8.290782, -1.743121, 1.084189, 0.012583] #last 4 columns turb_naca0012_sst.su2_exec = "SU2_CFD" turb_naca0012_sst.timeout = 3200 turb_naca0012_sst.tol = 0.00001 test_list.append(turb_naca0012_sst) ############################ ### Incompressible RANS ### ############################ # NACA0012 inc_turb_naca0012 = TestCase('inc_turb_naca0012') inc_turb_naca0012.cfg_dir = "incomp_rans/naca0012" inc_turb_naca0012.cfg_file = "naca0012.cfg" inc_turb_naca0012.test_iter = 20 inc_turb_naca0012.test_vals = [-4.710052, -11.007500, -0.000001, 0.210445] #last 4 columns inc_turb_naca0012.su2_exec = "SU2_CFD" inc_turb_naca0012.timeout = 1600 inc_turb_naca0012.tol = 0.00001 test_list.append(inc_turb_naca0012) ##################################### ### Cont. adj. compressible Euler ### ##################################### # Inviscid NACA0012 contadj_naca0012 = TestCase('contadj_naca0012') contadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" contadj_naca0012.cfg_file = "inv_NACA0012.cfg" contadj_naca0012.test_iter = 5 contadj_naca0012.test_vals = [-9.787555, -15.192503, 0.300920, 0.536870] #last 4 columns contadj_naca0012.su2_exec = "SU2_CFD" contadj_naca0012.timeout = 1600 contadj_naca0012.tol = 0.00001 test_list.append(contadj_naca0012) # Inviscid ONERA M6 contadj_oneram6 = TestCase('contadj_oneram6') contadj_oneram6.cfg_dir = "cont_adj_euler/oneram6" contadj_oneram6.cfg_file = "inv_ONERAM6.cfg" contadj_oneram6.test_iter = 5 contadj_oneram6.test_vals = [-6.009929, -6.251311, -0.106940, 0.149230] #last 4 columns contadj_oneram6.su2_exec = "SU2_CFD" contadj_oneram6.timeout = 1600 contadj_oneram6.tol = 0.00001 test_list.append(contadj_oneram6) ################################### ### Cont. adj. compressible N-S ### ################################### # Adjoint laminar cylinder contadj_ns_cylinder = TestCase('contadj_ns_cylinder') contadj_ns_cylinder.cfg_dir = "cont_adj_navierstokes/cylinder" contadj_ns_cylinder.cfg_file = "lam_cylinder.cfg" contadj_ns_cylinder.test_iter = 100 contadj_ns_cylinder.test_vals = [-3.677184, -9.141850, -2.056700, 4.497000] #last 4 columns contadj_ns_cylinder.su2_exec = "SU2_CFD" contadj_ns_cylinder.timeout = 1600 contadj_ns_cylinder.tol = 0.00001 test_list.append(contadj_ns_cylinder) # Adjoint laminar naca0012 subsonic contadj_ns_naca0012_sub = TestCase('contadj_ns_naca0012_sub') contadj_ns_naca0012_sub.cfg_dir = "cont_adj_navierstokes/naca0012_sub" contadj_ns_naca0012_sub.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_sub.test_iter = 100 contadj_ns_naca0012_sub.test_vals = [-2.744551, -8.216469, 0.518810, 0.229160] #last 4 columns contadj_ns_naca0012_sub.su2_exec = "SU2_CFD" contadj_ns_naca0012_sub.timeout = 1600 contadj_ns_naca0012_sub.tol = 0.00001 test_list.append(contadj_ns_naca0012_sub) # Adjoint laminar naca0012 transonic contadj_ns_naca0012_trans = TestCase('contadj_ns_naca0012_trans') contadj_ns_naca0012_trans.cfg_dir = "cont_adj_navierstokes/naca0012_trans" contadj_ns_naca0012_trans.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_trans.test_iter = 100 contadj_ns_naca0012_trans.test_vals = [-1.041539, -6.578524, 1.772300, 0.620880] #last 4 columns contadj_ns_naca0012_trans.su2_exec = "SU2_CFD" contadj_ns_naca0012_trans.timeout = 1600 contadj_ns_naca0012_trans.tol = 0.00001 test_list.append(contadj_ns_naca0012_trans) ####################################################### ### Cont. adj. compressible RANS (frozen viscosity) ### ####################################################### # Adjoint turbulent NACA0012 contadj_rans_naca0012 = TestCase('contadj_rans_naca0012') contadj_rans_naca0012.cfg_dir = "cont_adj_rans/naca0012" contadj_rans_naca0012.cfg_file = "turb_nasa.cfg" contadj_rans_naca0012.test_iter = 100 contadj_rans_naca0012.test_vals = [-0.814757, -5.726517, -19.169000, -2.994100] #last 4 columns contadj_rans_naca0012.su2_exec = "SU2_CFD" contadj_rans_naca0012.timeout = 1600 contadj_rans_naca0012.tol = 0.00001 test_list.append(contadj_rans_naca0012) # Adjoint turbulent RAE2822 contadj_rans_rae2822 = TestCase('contadj_rans_rae2822') contadj_rans_rae2822.cfg_dir = "cont_adj_rans/rae2822" contadj_rans_rae2822.cfg_file = "turb_SA_RAE2822.cfg" contadj_rans_rae2822.test_iter = 100 contadj_rans_rae2822.test_vals = [-5.377843, -10.882446, -0.212470, 0.269390] #last 4 columns contadj_rans_rae2822.su2_exec = "SU2_CFD" contadj_rans_rae2822.timeout = 1600 contadj_rans_rae2822.tol = 0.00001 test_list.append(contadj_rans_rae2822) ####################################### ### Cont. adj. incompressible Euler ### ####################################### # Adjoint Incompressible Inviscid NACA0012 contadj_incomp_NACA0012 = TestCase('contadj_incomp_NACA0012') contadj_incomp_NACA0012.cfg_dir = "cont_adj_incomp_euler/naca0012" contadj_incomp_NACA0012.cfg_file = "incomp_NACA0012.cfg" contadj_incomp_NACA0012.test_iter = 5 contadj_incomp_NACA0012.test_vals = [-11.980272, -12.146779, 1.9399, 0.000000] #last 4 columns contadj_incomp_NACA0012.su2_exec = "SU2_CFD" contadj_incomp_NACA0012.timeout = 1600 contadj_incomp_NACA0012.tol = 0.00001 test_list.append(contadj_incomp_NACA0012) ##################################### ### Cont. adj. incompressible N-S ### ##################################### # Adjoint Incompressible Viscous Cylinder contadj_incomp_cylinder = TestCase('contadj_incomp_cylinder') contadj_incomp_cylinder.cfg_dir = "cont_adj_incomp_navierstokes/cylinder" contadj_incomp_cylinder.cfg_file = "lam_incomp_cylinder.cfg" contadj_incomp_cylinder.test_iter = 25 contadj_incomp_cylinder.test_vals = [-5.718622, -7.027366, -2.932100, 0.000000] #last 4 columns contadj_incomp_cylinder.su2_exec = "SU2_CFD" contadj_incomp_cylinder.timeout = 1600 contadj_incomp_cylinder.tol = 0.00001 test_list.append(contadj_incomp_cylinder) ###################################### ### Thermochemical Nonequilibrium ### ###################################### ramc = TestCase('ramc') ramc.cfg_dir = "tne2/ramc" ramc.cfg_file = "ramc61km.cfg" ramc.test_iter = 25 ramc.test_vals = [-4.643029, 2.849441, -4.443852, 0.000313] #last 4 columns ramc.su2_exec = "SU2_CFD" ramc.timeout = 1600 ramc.tol = 0.00001 test_list.append(ramc) # ###################################### # ### Spectral Method ### # ###################################### # spectral = TestCase('spectral') # spectral.cfg_dir = "spectral_method" # spectral.cfg_file = "spectral.cfg" # spectral.test_iter = 25 # spectral.test_vals = [-1.621870,3.852164,0.007465,0.084358] # spectral.su2_exec = "SU2_CFD" # spectral.timeout = 1600 # spectral.tol = 0.00001 # test_list.append(spectral) ###################################### ### Moving Wall ### ###################################### # Lid-driven cavity cavity = TestCase('cavity') cavity.cfg_dir = "moving_wall/cavity" cavity.cfg_file = "lam_cavity.cfg" cavity.test_iter = 25 cavity.test_vals = [-5.627934, -0.164470, 0.051972, 2.547034] #last 4 columns cavity.su2_exec = "SU2_CFD" cavity.timeout = 1600 cavity.tol = 0.00001 test_list.append(cavity) # Spinning cylinder spinning_cylinder = TestCase('spinning_cylinder') spinning_cylinder.cfg_dir = "moving_wall/spinning_cylinder" spinning_cylinder.cfg_file = "spinning_cylinder.cfg" spinning_cylinder.test_iter = 25 spinning_cylinder.test_vals = [-7.709662, -2.274900, 1.418422, 1.734206] #last 4 columns spinning_cylinder.su2_exec = "SU2_CFD" spinning_cylinder.timeout = 1600 spinning_cylinder.tol = 0.00001 test_list.append(spinning_cylinder) ###################################### ### Unsteady ### ###################################### # Square cylinder square_cylinder = TestCase('square_cylinder') square_cylinder.cfg_dir = "unsteady/square_cylinder" square_cylinder.cfg_file = "turb_square.cfg" square_cylinder.test_iter = 3 square_cylinder.test_vals = [-1.544603, 0.048578, 1.398951, 2.196894] #last 4 columns square_cylinder.su2_exec = "SU2_CFD" square_cylinder.timeout = 1600 square_cylinder.tol = 0.00001 test_list.append(square_cylinder) ###################################### ### Real_Gas ### ###################################### # ls89_sa ls89_sa = TestCase('ls89_sa') ls89_sa.cfg_dir = "nicf/LS89" ls89_sa.cfg_file = "turb_SA_PR.cfg" ls89_sa.test_iter = 100 ls89_sa.test_vals = [-6.383111, -13.350395, 0.069071, 0.160893] #last 4 columns ls89_sa.su2_exec = "SU2_CFD" ls89_sa.timeout = 1600 ls89_sa.tol = 0.00001 test_list.append(ls89_sa) # # ls89_sst # ls89_sst = TestCase('ls89_sst') # ls89_sst.cfg_dir = "nicf/LS89" # ls89_sst.cfg_file = "turb_SST_PR.cfg" # ls89_sst.test_iter = 100 # ls89_sst.test_vals = [-8.548266, -1.449437, 0.067986, 0.151168] #last 4 columns # ls89_sst.su2_exec = "SU2_CFD" # ls89_sst.timeout = 1600 # ls89_sst.tol = 0.00001 # test_list.append(ls89_sst) # Rarefaction shock wave edge_VW edge_VW = TestCase('edge_VW') edge_VW.cfg_dir = "nicf/edge" edge_VW.cfg_file = "edge_VW.cfg" edge_VW.test_iter = 100 edge_VW.test_vals = [-1.448271, 4.749156, -0.000046, 0.000000] #last 4 columns edge_VW.su2_exec = "SU2_CFD" edge_VW.timeout = 1600 edge_VW.tol = 0.00001 test_list.append(edge_VW) # Rarefaction shock wave edge_PPR edge_PPR = TestCase('edge_PPR') edge_PPR.cfg_dir = "nicf/edge" edge_PPR.cfg_file = "edge_PPR.cfg" edge_PPR.test_iter = 100 edge_PPR.test_vals = [-1.998238, 4.172451, -0.000056, 0.000000] #last 4 columns edge_PPR.su2_exec = "SU2_CFD" edge_PPR.timeout = 1600 edge_PPR.tol = 0.00001 test_list.append(edge_PPR) ###################################### ### RUN TESTS ### ###################################### pass_list = [ test.run_test() for test in test_list ] if all(pass_list): sys.exit(0) else: sys.exit(1)
def main(): '''This program runs SU^2 and ensures that the output matches specified values. This will be used to do nightly checks to make sure nothing is broken. ''' workdir = os.getcwd() # environment variables for SU2 os.environ[ 'SU2_HOME'] = '/home/ale11/.cruise/projects/serial_regression/work/SU2' os.environ[ 'SU2_RUN'] = '/home/ale11/.cruise/projects/serial_regression/work/SU2/bin' os.environ['PATH'] = os.environ['PATH'] + ':' + os.environ['SU2_RUN'] # sync SU2 repo os.chdir(os.environ['SU2_HOME']) os.system('git pull') # Build SU2_CFD in serial using autoconf os.system('./configure --prefix=$SU2_HOME CXXFLAGS="-O3"') os.system('make clean') os.system('make install') os.chdir(os.environ['SU2_RUN']) if not os.path.exists("./SU2_CFD"): print 'Could not build SU2_CFD' sys.exit(1) os.chdir(workdir) test_list = [] ########################## ### Compressible Euler ### ########################## # Channel channel = TestCase('channel') channel.cfg_dir = "euler/channel" channel.cfg_file = "inv_channel_RK.cfg" channel.test_iter = 100 channel.test_vals = [-2.489214, 2.821231, 0.008730, 0.053947] channel.su2_exec = "SU2_CFD" channel.timeout = 1600 channel.tol = 0.00001 test_list.append(channel) # NACA0012 naca0012 = TestCase('naca0012') naca0012.cfg_dir = "euler/naca0012" naca0012.cfg_file = "inv_NACA0012_Roe.cfg" naca0012.test_iter = 100 naca0012.test_vals = [-6.203359, -5.582393, 0.334818, 0.022197] naca0012.su2_exec = "SU2_CFD" naca0012.timeout = 1600 naca0012.tol = 0.00001 test_list.append(naca0012) # Supersonic wedge wedge = TestCase('wedge') wedge.cfg_dir = "euler/wedge" wedge.cfg_file = "inv_wedge_HLLC.cfg" wedge.test_iter = 100 wedge.test_vals = [-2.703316, 3.192215, -0.252410, 0.044446] wedge.su2_exec = "SU2_CFD" wedge.timeout = 1600 wedge.tol = 0.00001 test_list.append(wedge) # ONERA M6 Wing oneram6 = TestCase('oneram6') oneram6.cfg_dir = "euler/oneram6" oneram6.cfg_file = "inv_ONERAM6_JST.cfg" oneram6.test_iter = 10 oneram6.test_vals = [-4.830417, -4.273125, 0.290066, 0.015809] oneram6.su2_exec = "SU2_CFD" oneram6.timeout = 9600 oneram6.tol = 0.00001 test_list.append(oneram6) ########################## ### Compressible N-S ### ########################## # Laminar flat plate flatplate = TestCase('flatplate') flatplate.cfg_dir = "navierstokes/flatplate" flatplate.cfg_file = "lam_flatplate.cfg" flatplate.test_iter = 100 flatplate.test_vals = [-5.227537, 0.267007, -0.167233, 0.012854] flatplate.su2_exec = "SU2_CFD" flatplate.timeout = 1600 flatplate.tol = 0.00001 test_list.append(flatplate) # Laminar cylinder (steady) cylinder = TestCase('cylinder') cylinder.cfg_dir = "navierstokes/cylinder" cylinder.cfg_file = "lam_cylinder.cfg" cylinder.test_iter = 25 cylinder.test_vals = [-6.764866, -1.296840, -0.024986, 0.974669] cylinder.su2_exec = "SU2_CFD" cylinder.timeout = 1600 cylinder.tol = 0.00001 test_list.append(cylinder) ########################## ### Compressible RANS ### ########################## # RAE2822 SA rae2822_sa = TestCase('rae2822_sa') rae2822_sa.cfg_dir = "rans/rae2822" rae2822_sa.cfg_file = "turb_SA_RAE2822.cfg" rae2822_sa.test_iter = 100 rae2822_sa.test_vals = [-3.542705, -5.430675, 0.884353, 0.024153] #last 4 columns rae2822_sa.su2_exec = "SU2_CFD" rae2822_sa.timeout = 1600 rae2822_sa.tol = 0.00001 test_list.append(rae2822_sa) # RAE2822 SST rae2822_sst = TestCase('rae2822_sst') rae2822_sst.cfg_dir = "rans/rae2822" rae2822_sst.cfg_file = "turb_SST_RAE2822.cfg" rae2822_sst.test_iter = 100 rae2822_sst.test_vals = [-1.214015, 4.020029, 0.884881, 0.024141] #last 4 columns rae2822_sst.su2_exec = "SU2_CFD" rae2822_sst.timeout = 1600 rae2822_sst.tol = 0.00001 test_list.append(rae2822_sst) # Flat plate turb_flatplate = TestCase('turb_flatplate') turb_flatplate.cfg_dir = "rans/flatplate" turb_flatplate.cfg_file = "turb_SA_flatplate.cfg" turb_flatplate.test_iter = 100 turb_flatplate.test_vals = [-5.068405, -7.340795, -0.187223, 0.010395] #last 4 columns turb_flatplate.su2_exec = "SU2_CFD" turb_flatplate.timeout = 1600 turb_flatplate.tol = 0.00001 test_list.append(turb_flatplate) # ONERA M6 Wing turb_oneram6 = TestCase('turb_oneram6') turb_oneram6.cfg_dir = "rans/oneram6" turb_oneram6.cfg_file = "turb_ONERAM6.cfg" turb_oneram6.test_iter = 10 turb_oneram6.test_vals = [-2.327517, -6.563378, 0.230436, 0.155816] #last 4 columns turb_oneram6.su2_exec = "SU2_CFD" turb_oneram6.timeout = 3200 turb_oneram6.tol = 0.00001 test_list.append(turb_oneram6) # NACA0012 turb_naca0012 = TestCase('turb_naca0012') turb_naca0012.cfg_dir = "rans/naca0012" turb_naca0012.cfg_file = "turb_NACA0012.cfg" turb_naca0012.test_iter = 20 turb_naca0012.test_vals = [-2.826334, -7.364207, -0.000025, 0.803037] #last 4 columns turb_naca0012.su2_exec = "SU2_CFD" turb_naca0012.timeout = 3200 turb_naca0012.tol = 0.00001 test_list.append(turb_naca0012) ############################ ### Incompressible RANS ### ############################ # NACA0012 inc_turb_naca0012 = TestCase('inc_turb_naca0012') inc_turb_naca0012.cfg_dir = "incomp_rans/naca0012" inc_turb_naca0012.cfg_file = "naca0012.cfg" inc_turb_naca0012.test_iter = 20 inc_turb_naca0012.test_vals = [-4.709986, -11.007545, 0.000008, 0.210347] #last 4 columns inc_turb_naca0012.su2_exec = "SU2_CFD" inc_turb_naca0012.timeout = 1600 inc_turb_naca0012.tol = 0.00001 test_list.append(inc_turb_naca0012) ##################################### ### Cont. adj. compressible Euler ### ##################################### # Inviscid NACA0012 contadj_naca0012 = TestCase('contadj_naca0012') contadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" contadj_naca0012.cfg_file = "inv_NACA0012.cfg" contadj_naca0012.test_iter = 5 contadj_naca0012.test_vals = [-12.206764, -16.000000, 0.005483, 0.536870] #last 4 columns contadj_naca0012.su2_exec = "SU2_CFD" contadj_naca0012.timeout = 1600 contadj_naca0012.tol = 0.00001 test_list.append(contadj_naca0012) # Inviscid ONERA M6 contadj_oneram6 = TestCase('contadj_oneram6') contadj_oneram6.cfg_dir = "cont_adj_euler/oneram6" contadj_oneram6.cfg_file = "inv_ONERAM6.cfg" contadj_oneram6.test_iter = 5 contadj_oneram6.test_vals = [-6.353629, -6.525887, -0.000023, 0.147720] #last 4 columns contadj_oneram6.su2_exec = "SU2_CFD" contadj_oneram6.timeout = 1600 contadj_oneram6.tol = 0.00001 test_list.append(contadj_oneram6) ################################### ### Cont. adj. compressible N-S ### ################################### # Adjoint laminar cylinder contadj_ns_cylinder = TestCase('contadj_ns_cylinder') contadj_ns_cylinder.cfg_dir = "cont_adj_navierstokes/cylinder" contadj_ns_cylinder.cfg_file = "lam_cylinder.cfg" contadj_ns_cylinder.test_iter = 100 contadj_ns_cylinder.test_vals = [ -0.599698, -6.065249, -0.032305, 25.115000 ] #last 4 columns contadj_ns_cylinder.su2_exec = "SU2_CFD" contadj_ns_cylinder.timeout = 1600 contadj_ns_cylinder.tol = 0.00001 test_list.append(contadj_ns_cylinder) # Adjoint laminar naca0012 subsonic contadj_ns_naca0012_sub = TestCase('contadj_ns_naca0012_sub') contadj_ns_naca0012_sub.cfg_dir = "cont_adj_navierstokes/naca0012_sub" contadj_ns_naca0012_sub.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_sub.test_iter = 100 contadj_ns_naca0012_sub.test_vals = [ -4.234330, -9.705736, 0.005161, 0.398940 ] #last 4 columns contadj_ns_naca0012_sub.su2_exec = "SU2_CFD" contadj_ns_naca0012_sub.timeout = 1600 contadj_ns_naca0012_sub.tol = 0.00001 test_list.append(contadj_ns_naca0012_sub) # Adjoint laminar naca0012 transonic contadj_ns_naca0012_trans = TestCase('contadj_ns_naca0012_trans') contadj_ns_naca0012_trans.cfg_dir = "cont_adj_navierstokes/naca0012_trans" contadj_ns_naca0012_trans.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_trans.test_iter = 100 contadj_ns_naca0012_trans.test_vals = [ -1.810435, -6.920519, 0.014614, 1.020100 ] #last 4 columns contadj_ns_naca0012_trans.su2_exec = "SU2_CFD" contadj_ns_naca0012_trans.timeout = 1600 contadj_ns_naca0012_trans.tol = 0.00001 test_list.append(contadj_ns_naca0012_trans) ####################################################### ### Cont. adj. compressible RANS (frozen viscosity) ### ####################################################### # Adjoint turbulent NACA0012 contadj_rans_naca0012 = TestCase('contadj_rans_naca0012') contadj_rans_naca0012.cfg_dir = "cont_adj_rans/naca0012" contadj_rans_naca0012.cfg_file = "turb_nasa.cfg" contadj_rans_naca0012.test_iter = 100 contadj_rans_naca0012.test_vals = [ -4.351102, -8.919996, -1.275200, -2.541400 ] #last 4 columns contadj_rans_naca0012.su2_exec = "SU2_CFD" contadj_rans_naca0012.timeout = 1600 contadj_rans_naca0012.tol = 0.00001 test_list.append(contadj_rans_naca0012) # Adjoint turbulent RAE2822 contadj_rans_rae2822 = TestCase('contadj_rans_rae2822') contadj_rans_rae2822.cfg_dir = "cont_adj_rans/rae2822" contadj_rans_rae2822.cfg_file = "turb_SA_RAE2822.cfg" contadj_rans_rae2822.test_iter = 100 contadj_rans_rae2822.test_vals = [ -2.870304, -8.350308, 4.5270e+00, 3.5527e-01 ] #last 4 columns contadj_rans_rae2822.su2_exec = "SU2_CFD" contadj_rans_rae2822.timeout = 1600 contadj_rans_rae2822.tol = 0.00001 test_list.append(contadj_rans_rae2822) ####################################### ### Cont. adj. incompressible Euler ### ####################################### # Adjoint Incompressible Inviscid NACA0012 contadj_incomp_NACA0012 = TestCase('contadj_incomp_NACA0012') contadj_incomp_NACA0012.cfg_dir = "cont_adj_incomp_euler/naca0012" contadj_incomp_NACA0012.cfg_file = "incomp_NACA0012.cfg" contadj_incomp_NACA0012.test_iter = 140 contadj_incomp_NACA0012.test_vals = [ -7.551025, -7.377690, 0.010910, 0.000000 ] #last 4 columns contadj_incomp_NACA0012.su2_exec = "SU2_CFD" contadj_incomp_NACA0012.timeout = 1600 contadj_incomp_NACA0012.tol = 0.00001 test_list.append(contadj_incomp_NACA0012) ##################################### ### Cont. adj. incompressible N-S ### ##################################### # Adjoint Incompressible Viscous Cylinder contadj_incomp_cylinder = TestCase('contadj_incomp_cylinder') contadj_incomp_cylinder.cfg_dir = "cont_adj_incomp_navierstokes/cylinder" contadj_incomp_cylinder.cfg_file = "lam_incomp_cylinder.cfg" contadj_incomp_cylinder.test_iter = 25 contadj_incomp_cylinder.test_vals = [ -2.423636, -2.916834, -0.048414, 0.000000 ] #last 4 columns contadj_incomp_cylinder.su2_exec = "SU2_CFD" contadj_incomp_cylinder.timeout = 1600 contadj_incomp_cylinder.tol = 0.00001 test_list.append(contadj_incomp_cylinder) ###################################### ### Thermochemical Nonequilibrium ### ###################################### ramc = TestCase('ramc') ramc.cfg_dir = "tne2/ramc" ramc.cfg_file = "ramc61km.cfg" ramc.test_iter = 25 ramc.test_vals = [-4.638119, 2.854417, -4.439628, 0.000188] ramc.su2_exec = "SU2_CFD" ramc.timeout = 1600 ramc.tol = 0.00001 test_list.append(ramc) # ###################################### # ### Spectral Method ### # ###################################### # spectral = TestCase('spectral') # spectral.cfg_dir = "spectral_method" # spectral.cfg_file = "spectral.cfg" # spectral.test_iter = 25 # spectral.test_vals = [-1.621870,3.852164,0.007465,0.084358] # spectral.su2_exec = "SU2_CFD" # spectral.timeout = 1600 # spectral.tol = 0.00001 # test_list.append(spectral) ###################################### ### Moving Wall ### ###################################### # Lid-driven cavity cavity = TestCase('cavity') cavity.cfg_dir = "moving_wall/cavity" cavity.cfg_file = "lam_cavity.cfg" cavity.test_iter = 25 cavity.test_vals = [-5.940515, -0.480469, 0.018068, -3.926360] cavity.su2_exec = "SU2_CFD" cavity.timeout = 1600 cavity.tol = 0.00001 test_list.append(cavity) # Spinning cylinder spinning_cylinder = TestCase('spinning_cylinder') spinning_cylinder.cfg_dir = "moving_wall/spinning_cylinder" spinning_cylinder.cfg_file = "spinning_cylinder.cfg" spinning_cylinder.test_iter = 25 spinning_cylinder.test_vals = [-6.744370, -1.298814, 8.697757, 0.133608] spinning_cylinder.su2_exec = "SU2_CFD" spinning_cylinder.timeout = 1600 spinning_cylinder.tol = 0.00001 test_list.append(spinning_cylinder) ###################################### ### Unsteady ### ###################################### # Square cylinder square_cylinder = TestCase('square_cylinder') square_cylinder.cfg_dir = "unsteady/square_cylinder" square_cylinder.cfg_file = "turb_square.cfg" square_cylinder.test_iter = 3 square_cylinder.test_vals = [-1.542160, 0.048661, 1.398952, 2.196894] square_cylinder.su2_exec = "SU2_CFD" square_cylinder.timeout = 1600 square_cylinder.tol = 0.00001 test_list.append(square_cylinder) ###################################### ### RUN TESTS ### ###################################### pass_list = [test.run_test() for test in test_list] if all(pass_list): sys.exit(0) else: sys.exit(1)
def __init__(self, name=""): self.log = "" TestCase.__init__(self, name)
def main(): '''This program runs SU2 and ensures that the output matches specified values. This will be used to do checks when code is pushed to github to make sure nothing is broken. ''' test_list = [] ##################################### ### Disc. adj. compressible Euler ### ##################################### # Inviscid NACA0012 discadj_naca0012 = TestCase('discadj_naca0012') discadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" discadj_naca0012.cfg_file = "inv_NACA0012_discadj.cfg" discadj_naca0012.test_iter = 100 discadj_naca0012.test_vals = [-3.606839,-9.035212,-3.3386e-07,1.8777e-01] #last 4 columns discadj_naca0012.su2_exec = "SU2_CFD_AD" discadj_naca0012.timeout = 1600 discadj_naca0012.tol = 0.00001 test_list.append(discadj_naca0012) ####################################################### ### Disc. adj. compressible RANS ### ####################################################### # Adjoint turbulent NACA0012 SA discadj_rans_naca0012_sa = TestCase('discadj_rans_naca0012_sa') discadj_rans_naca0012_sa.cfg_dir = "disc_adj_rans/naca0012" discadj_rans_naca0012_sa.cfg_file = "turb_NACA0012_sa.cfg" discadj_rans_naca0012_sa.test_iter = 10 discadj_rans_naca0012_sa.test_vals = [-1.751947, 0.485758, 0.181440, -0.385110] #last 4 columns discadj_rans_naca0012_sa.su2_exec = "SU2_CFD_AD" discadj_rans_naca0012_sa.timeout = 1600 discadj_rans_naca0012_sa.tol = 0.00001 test_list.append(discadj_rans_naca0012_sa) # Adjoint turbulent NACA0012 SST discadj_rans_naca0012_sst = TestCase('discadj_rans_naca0012_sst') discadj_rans_naca0012_sst.cfg_dir = "disc_adj_rans/naca0012" discadj_rans_naca0012_sst.cfg_file = "turb_NACA0012_sst.cfg" discadj_rans_naca0012_sst.test_iter = 10 discadj_rans_naca0012_sst.test_vals = [-1.658566, -0.487694, 0.087556, -0.537010] #last 4 columns discadj_rans_naca0012_sst.su2_exec = "SU2_CFD_AD" discadj_rans_naca0012_sst.timeout = 1600 discadj_rans_naca0012_sst.tol = 0.00001 test_list.append(discadj_rans_naca0012_sst) ####################################################### ### Unsteady Disc. adj. compressible RANS ### ####################################################### # Turbulent Cylinder discadj_cylinder = TestCase('unsteady_cylinder') discadj_cylinder.cfg_dir = "disc_adj_rans/cylinder" discadj_cylinder.cfg_file = "cylinder.cfg" discadj_cylinder.test_iter = 10 discadj_cylinder.test_vals = [3.522068,-1.787841,-1.2030e-02,1.1156e-03] #last 4 columns discadj_cylinder.su2_exec = "SU2_CFD_AD" discadj_cylinder.timeout = 1600 discadj_cylinder.tol = 0.00001 discadj_cylinder.unsteady = True test_list.append(discadj_cylinder) ###################################### ### RUN TESTS ### ###################################### pass_list = [ test.run_test() for test in test_list ] ###################################### ### RUN PYTHON TESTS ### ###################################### # test discrete_adjoint.py discadj_euler_py = TestCase('discadj_euler_py') discadj_euler_py.cfg_dir = "cont_adj_euler/naca0012" discadj_euler_py.cfg_file = "inv_NACA0012.cfg" discadj_euler_py.test_iter = 10 discadj_euler_py.su2_exec = "discrete_adjoint.py" discadj_euler_py.timeout = 1600 discadj_euler_py.reference_file = "of_grad_cd_disc.dat.ref" discadj_euler_py.test_file = "of_grad_cd.dat" pass_list.append(discadj_euler_py.run_filediff()) test_list.append(discadj_euler_py) # test direct_differentiation.py directdiff_euler_py = TestCase('directdiff_euler_py') directdiff_euler_py.cfg_dir = "cont_adj_euler/naca0012" directdiff_euler_py.cfg_file = "inv_NACA0012_FD.cfg" directdiff_euler_py.test_iter = 10 directdiff_euler_py.su2_exec = "direct_differentiation.py" directdiff_euler_py.timeout = 1600 directdiff_euler_py.reference_file = "of_grad_directdiff.dat.ref" directdiff_euler_py.test_file = "DIRECTDIFF/of_grad_directdiff.dat" pass_list.append(directdiff_euler_py.run_filediff()) test_list.append(directdiff_euler_py) # Tests summary print '==================================================================' print 'Summary of the serial tests' for i, test in enumerate(test_list): if (pass_list[i]): print ' passed - %s'%test.tag else: print '* FAILED - %s'%test.tag if all(pass_list): sys.exit(0) else: sys.exit(1)
def main(): '''This program runs SU^2 and ensures that the output matches specified values. This will be used to do nightly checks to make sure nothing is broken. ''' workdir = os.getcwd() # environment variables for SU2 os.environ['SU2_HOME'] = '/home/ale11/.cruise/projects/serial_regression/work/SU2' os.environ['SU2_RUN'] = '/home/ale11/.cruise/projects/serial_regression/work/SU2/bin' os.environ['PATH'] = os.environ['PATH'] + ':' + os.environ['SU2_RUN'] # sync SU2 repo os.chdir( os.environ['SU2_HOME'] ) os.system('git fetch') os.system('git checkout develop') os.system('git pull origin develop') # Build SU2_CFD in serial using autoconf os.system('./configure --prefix=$SU2_HOME CXXFLAGS="-O3"') os.system('make clean') os.system('make install') os.chdir(os.environ['SU2_RUN']) if not os.path.exists("./SU2_CFD"): print 'Could not build SU2_CFD' sys.exit(1) os.chdir(workdir) test_list = [] ########################## ### Compressible Euler ### ########################## # Channel channel = TestCase('channel') channel.cfg_dir = "euler/channel" channel.cfg_file = "inv_channel_RK.cfg" channel.test_iter = 100 channel.test_vals = [-3.110240, 2.263506, 0.008686, 0.029098] channel.su2_exec = "SU2_CFD" channel.timeout = 1600 channel.tol = 0.00001 test_list.append(channel) # NACA0012 naca0012 = TestCase('naca0012') naca0012.cfg_dir = "euler/naca0012" naca0012.cfg_file = "inv_NACA0012_Roe.cfg" naca0012.test_iter = 100 naca0012.test_vals = [-6.198537, -5.577721, 0.334810, 0.022197] naca0012.su2_exec = "SU2_CFD" naca0012.timeout = 1600 naca0012.tol = 0.00001 test_list.append(naca0012) # Supersonic wedge wedge = TestCase('wedge') wedge.cfg_dir = "euler/wedge" wedge.cfg_file = "inv_wedge_HLLC.cfg" wedge.test_iter = 100 wedge.test_vals = [-1.711318, 3.913749, -0.252131, 0.044402] wedge.su2_exec = "SU2_CFD" wedge.timeout = 1600 wedge.tol = 0.00001 test_list.append(wedge) # ONERA M6 Wing oneram6 = TestCase('oneram6') oneram6.cfg_dir = "euler/oneram6" oneram6.cfg_file = "inv_ONERAM6_JST.cfg" oneram6.test_iter = 10 oneram6.test_vals = [-4.711345, -4.145530, 0.271737, 0.018904] oneram6.su2_exec = "SU2_CFD" oneram6.timeout = 9600 oneram6.tol = 0.00001 test_list.append(oneram6) ########################## ### Compressible N-S ### ########################## # Laminar flat plate flatplate = TestCase('flatplate') flatplate.cfg_dir = "navierstokes/flatplate" flatplate.cfg_file = "lam_flatplate.cfg" flatplate.test_iter = 100 flatplate.test_vals = [-5.228462, 0.265581, -0.166503, 0.013013] flatplate.su2_exec = "SU2_CFD" flatplate.timeout = 1600 flatplate.tol = 0.00001 test_list.append(flatplate) # Laminar cylinder (steady) cylinder = TestCase('cylinder') cylinder.cfg_dir = "navierstokes/cylinder" cylinder.cfg_file = "lam_cylinder.cfg" cylinder.test_iter = 25 cylinder.test_vals = [-6.765426, -1.297422, 0.019501, 0.310134] cylinder.su2_exec = "SU2_CFD" cylinder.timeout = 1600 cylinder.tol = 0.00001 test_list.append(cylinder) ########################## ### Compressible RANS ### ########################## # RAE2822 SA rae2822_sa = TestCase('rae2822_sa') rae2822_sa.cfg_dir = "rans/rae2822" rae2822_sa.cfg_file = "turb_SA_RAE2822.cfg" rae2822_sa.test_iter = 100 rae2822_sa.test_vals = [-3.442525, -5.441383, 0.884279, 0.024730] #last 4 columns rae2822_sa.su2_exec = "SU2_CFD" rae2822_sa.timeout = 1600 rae2822_sa.tol = 0.00001 test_list.append(rae2822_sa) # RAE2822 SST rae2822_sst = TestCase('rae2822_sst') rae2822_sst.cfg_dir = "rans/rae2822" rae2822_sst.cfg_file = "turb_SST_RAE2822.cfg" rae2822_sst.test_iter = 100 rae2822_sst.test_vals = [-1.186943, 4.023140, 0.886788, 0.024927] #last 4 columns rae2822_sst.su2_exec = "SU2_CFD" rae2822_sst.timeout = 1600 rae2822_sst.tol = 0.00001 test_list.append(rae2822_sst) # Flat plate turb_flatplate = TestCase('turb_flatplate') turb_flatplate.cfg_dir = "rans/flatplate" turb_flatplate.cfg_file = "turb_SA_flatplate.cfg" turb_flatplate.test_iter = 100 turb_flatplate.test_vals = [-5.067553, -7.354291, -0.187192, 0.010831] #last 4 columns turb_flatplate.su2_exec = "SU2_CFD" turb_flatplate.timeout = 1600 turb_flatplate.tol = 0.00001 test_list.append(turb_flatplate) # ONERA M6 Wing turb_oneram6 = TestCase('turb_oneram6') turb_oneram6.cfg_dir = "rans/oneram6" turb_oneram6.cfg_file = "turb_ONERAM6.cfg" turb_oneram6.test_iter = 10 turb_oneram6.test_vals = [-2.327516, -6.563376, 0.230437, 0.155816]#last 4 columns turb_oneram6.su2_exec = "SU2_CFD" turb_oneram6.timeout = 3200 turb_oneram6.tol = 0.00001 test_list.append(turb_oneram6) # NACA0012 turb_naca0012 = TestCase('turb_naca0012') turb_naca0012.cfg_dir = "rans/naca0012" turb_naca0012.cfg_file = "turb_NACA0012.cfg" turb_naca0012.test_iter = 20 turb_naca0012.test_vals = [-2.826358, -7.364211, -0.000020, 0.803040] #last 4 columns turb_naca0012.su2_exec = "SU2_CFD" turb_naca0012.timeout = 3200 turb_naca0012.tol = 0.00001 test_list.append(turb_naca0012) ############################ ### Incompressible RANS ### ############################ # NACA0012 inc_turb_naca0012 = TestCase('inc_turb_naca0012') inc_turb_naca0012.cfg_dir = "incomp_rans/naca0012" inc_turb_naca0012.cfg_file = "naca0012.cfg" inc_turb_naca0012.test_iter = 20 inc_turb_naca0012.test_vals = [-4.710052, -11.007500, -0.000001, 0.210445] #last 4 columns inc_turb_naca0012.su2_exec = "SU2_CFD" inc_turb_naca0012.timeout = 1600 inc_turb_naca0012.tol = 0.00001 test_list.append(inc_turb_naca0012) ##################################### ### Cont. adj. compressible Euler ### ##################################### # Inviscid NACA0012 contadj_naca0012 = TestCase('contadj_naca0012') contadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" contadj_naca0012.cfg_file = "inv_NACA0012.cfg" contadj_naca0012.test_iter = 5 contadj_naca0012.test_vals = [-12.208788, -17.722752, 0.300920, 0.536870] #last 4 columns contadj_naca0012.su2_exec = "SU2_CFD" contadj_naca0012.timeout = 1600 contadj_naca0012.tol = 0.00001 test_list.append(contadj_naca0012) # Inviscid ONERA M6 contadj_oneram6 = TestCase('contadj_oneram6') contadj_oneram6.cfg_dir = "cont_adj_euler/oneram6" contadj_oneram6.cfg_file = "inv_ONERAM6.cfg" contadj_oneram6.test_iter = 5 contadj_oneram6.test_vals = [-6.356212, -6.530823, -0.132860, 0.147720] #last 4 columns contadj_oneram6.su2_exec = "SU2_CFD" contadj_oneram6.timeout = 1600 contadj_oneram6.tol = 0.00001 test_list.append(contadj_oneram6) ################################### ### Cont. adj. compressible N-S ### ################################### # Adjoint laminar cylinder contadj_ns_cylinder = TestCase('contadj_ns_cylinder') contadj_ns_cylinder.cfg_dir = "cont_adj_navierstokes/cylinder" contadj_ns_cylinder.cfg_file = "lam_cylinder.cfg" contadj_ns_cylinder.test_iter = 100 contadj_ns_cylinder.test_vals = [-0.607160, -6.072872, -2.056900, 25.115000] #last 4 columns contadj_ns_cylinder.su2_exec = "SU2_CFD" contadj_ns_cylinder.timeout = 1600 contadj_ns_cylinder.tol = 0.00001 test_list.append(contadj_ns_cylinder) # Adjoint laminar naca0012 subsonic contadj_ns_naca0012_sub = TestCase('contadj_ns_naca0012_sub') contadj_ns_naca0012_sub.cfg_dir = "cont_adj_navierstokes/naca0012_sub" contadj_ns_naca0012_sub.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_sub.test_iter = 100 contadj_ns_naca0012_sub.test_vals = [-4.234330, -9.705735, 0.516750, 0.398940] #last 4 columns contadj_ns_naca0012_sub.su2_exec = "SU2_CFD" contadj_ns_naca0012_sub.timeout = 1600 contadj_ns_naca0012_sub.tol = 0.00001 test_list.append(contadj_ns_naca0012_sub) # Adjoint laminar naca0012 transonic contadj_ns_naca0012_trans = TestCase('contadj_ns_naca0012_trans') contadj_ns_naca0012_trans.cfg_dir = "cont_adj_navierstokes/naca0012_trans" contadj_ns_naca0012_trans.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_trans.test_iter = 100 contadj_ns_naca0012_trans.test_vals = [-1.810435, -6.920519, 1.756200, 1.020100] #last 4 columns contadj_ns_naca0012_trans.su2_exec = "SU2_CFD" contadj_ns_naca0012_trans.timeout = 1600 contadj_ns_naca0012_trans.tol = 0.00001 test_list.append(contadj_ns_naca0012_trans) ####################################################### ### Cont. adj. compressible RANS (frozen viscosity) ### ####################################################### # Adjoint turbulent NACA0012 contadj_rans_naca0012 = TestCase('contadj_rans_naca0012') contadj_rans_naca0012.cfg_dir = "cont_adj_rans/naca0012" contadj_rans_naca0012.cfg_file = "turb_nasa.cfg" contadj_rans_naca0012.test_iter = 100 contadj_rans_naca0012.test_vals = [-4.351102, -8.919996, -72.511000, -2.541400] #last 4 columns contadj_rans_naca0012.su2_exec = "SU2_CFD" contadj_rans_naca0012.timeout = 1600 contadj_rans_naca0012.tol = 0.00001 test_list.append(contadj_rans_naca0012) # Adjoint turbulent RAE2822 contadj_rans_rae2822 = TestCase('contadj_rans_rae2822') contadj_rans_rae2822.cfg_dir = "cont_adj_rans/rae2822" contadj_rans_rae2822.cfg_file = "turb_SA_RAE2822.cfg" contadj_rans_rae2822.test_iter = 100 contadj_rans_rae2822.test_vals = [-2.959224, -8.349094, 354.120000, 0.106450] #last 4 columns contadj_rans_rae2822.su2_exec = "SU2_CFD" contadj_rans_rae2822.timeout = 1600 contadj_rans_rae2822.tol = 0.00001 test_list.append(contadj_rans_rae2822) ####################################### ### Cont. adj. incompressible Euler ### ####################################### # Adjoint Incompressible Inviscid NACA0012 contadj_incomp_NACA0012 = TestCase('contadj_incomp_NACA0012') contadj_incomp_NACA0012.cfg_dir = "cont_adj_incomp_euler/naca0012" contadj_incomp_NACA0012.cfg_file = "incomp_NACA0012.cfg" contadj_incomp_NACA0012.test_iter = 140 contadj_incomp_NACA0012.test_vals = [-7.326112, -7.153756, 1.892600, 0.000000] #last 4 columns contadj_incomp_NACA0012.su2_exec = "SU2_CFD" contadj_incomp_NACA0012.timeout = 1600 contadj_incomp_NACA0012.tol = 0.00001 test_list.append(contadj_incomp_NACA0012) ##################################### ### Cont. adj. incompressible N-S ### ##################################### # Adjoint Incompressible Viscous Cylinder contadj_incomp_cylinder = TestCase('contadj_incomp_cylinder') contadj_incomp_cylinder.cfg_dir = "cont_adj_incomp_navierstokes/cylinder" contadj_incomp_cylinder.cfg_file = "lam_incomp_cylinder.cfg" contadj_incomp_cylinder.test_iter = 25 contadj_incomp_cylinder.test_vals = [-2.423970, -2.907687, -3.082900, 0.000000] #last 4 columns contadj_incomp_cylinder.su2_exec = "SU2_CFD" contadj_incomp_cylinder.timeout = 1600 contadj_incomp_cylinder.tol = 0.00001 test_list.append(contadj_incomp_cylinder) ###################################### ### Thermochemical Nonequilibrium ### ###################################### ramc = TestCase('ramc') ramc.cfg_dir = "tne2/ramc" ramc.cfg_file = "ramc61km.cfg" ramc.test_iter = 25 ramc.test_vals = [-4.638119, 2.854417, -4.439628, 0.000188] ramc.su2_exec = "SU2_CFD" ramc.timeout = 1600 ramc.tol = 0.00001 test_list.append(ramc) # ###################################### # ### Spectral Method ### # ###################################### # spectral = TestCase('spectral') # spectral.cfg_dir = "spectral_method" # spectral.cfg_file = "spectral.cfg" # spectral.test_iter = 25 # spectral.test_vals = [-1.621870,3.852164,0.007465,0.084358] # spectral.su2_exec = "SU2_CFD" # spectral.timeout = 1600 # spectral.tol = 0.00001 # test_list.append(spectral) ###################################### ### Moving Wall ### ###################################### # Lid-driven cavity cavity = TestCase('cavity') cavity.cfg_dir = "moving_wall/cavity" cavity.cfg_file = "lam_cavity.cfg" cavity.test_iter = 25 cavity.test_vals = [-5.627883, -0.164418, 0.051983, 2.546202] cavity.su2_exec = "SU2_CFD" cavity.timeout = 1600 cavity.tol = 0.00001 test_list.append(cavity) # Spinning cylinder spinning_cylinder = TestCase('spinning_cylinder') spinning_cylinder.cfg_dir = "moving_wall/spinning_cylinder" spinning_cylinder.cfg_file = "spinning_cylinder.cfg" spinning_cylinder.test_iter = 25 spinning_cylinder.test_vals = [-6.905504, -1.452746, 9.120908, 0.087763] spinning_cylinder.su2_exec = "SU2_CFD" spinning_cylinder.timeout = 1600 spinning_cylinder.tol = 0.00001 test_list.append(spinning_cylinder) ###################################### ### Unsteady ### ###################################### # Square cylinder square_cylinder = TestCase('square_cylinder') square_cylinder.cfg_dir = "unsteady/square_cylinder" square_cylinder.cfg_file = "turb_square.cfg" square_cylinder.test_iter = 3 square_cylinder.test_vals = [-1.542156, 0.048662, 1.398952, 2.196893] square_cylinder.su2_exec = "SU2_CFD" square_cylinder.timeout = 1600 square_cylinder.tol = 0.00001 test_list.append(square_cylinder) ###################################### ### Real_Gas ### ###################################### # ls89_sa ls89_sa = TestCase('ls89_sa') ls89_sa.cfg_dir = "nicf/LS89" ls89_sa.cfg_file = "turb_SA_PR.cfg" ls89_sa.test_iter = 100 ls89_sa.test_vals = [-7.038263, -11.990177, 0.068730, 0.152379] ls89_sa.su2_exec = "SU2_CFD" ls89_sa.timeout = 1600 ls89_sa.tol = 0.00001 test_list.append(ls89_sa) # ls89_sst ls89_sst = TestCase('ls89_sst') ls89_sst.cfg_dir = "nicf/LS89" ls89_sst.cfg_file = "turb_SST_PR.cfg" ls89_sst.test_iter = 100 ls89_sst.test_vals = [-8.906245, -1.629702, 0.068978, 0.153799] ls89_sst.su2_exec = "SU2_CFD" ls89_sst.timeout = 1600 ls89_sst.tol = 0.00001 test_list.append(ls89_sst) # Rarefaction shock wave edge_VW edge_VW = TestCase('edge_VW') edge_VW.cfg_dir = "nicf/edge" edge_VW.cfg_file = "edge_VW.cfg" edge_VW.test_iter = 100 edge_VW.test_vals = [-5.728637, -3.272400, -0.000046, 0.000000] edge_VW.su2_exec = "SU2_CFD" edge_VW.timeout = 1600 edge_VW.tol = 0.00001 test_list.append(edge_VW) # Rarefaction shock wave edge_PPR edge_PPR = TestCase('edge_PPR') edge_PPR.cfg_dir = "nicf/edge" edge_PPR.cfg_file = "edge_PPR.cfg" edge_PPR.test_iter = 100 edge_PPR.test_vals = [-6.254324, -3.823322, -0.002054, 0.000000] edge_PPR.su2_exec = "SU2_CFD" edge_PPR.timeout = 1600 edge_PPR.tol = 0.00001 test_list.append(edge_PPR) ###################################### ### RUN TESTS ### ###################################### pass_list = [ test.run_test() for test in test_list ] if all(pass_list): sys.exit(0) else: sys.exit(1)
def main(): '''This program runs SU^2 and ensures that the output matches specified values. This will be used to do nightly checks to make sure nothing is broken. ''' workdir = os.getcwd() # environment variables for SU2 os.environ['SU2_HOME'] = '/home/ale11/.cruise/projects/serial_regression/work/SU2' os.environ['SU2_RUN'] = '/home/ale11/.cruise/projects/serial_regression/work/SU2/bin' os.environ['PATH'] = os.environ['PATH'] + ':' + os.environ['SU2_RUN'] # sync SU2 repo os.chdir( os.environ['SU2_HOME'] ) os.system('git pull') # Build SU2_CFD in serial using autoconf os.system('./configure --prefix=$SU2_HOME CXXFLAGS="-O3"') os.system('make clean') os.system('make install') os.chdir(os.environ['SU2_RUN']) if not os.path.exists("./SU2_CFD"): print 'Could not build SU2_CFD' sys.exit(1) os.chdir(workdir) test_list = [] ########################## ### Compressible Euler ### ########################## # Channel channel = TestCase('channel') channel.cfg_dir = "euler/channel" channel.cfg_file = "inv_channel_RK.cfg" channel.test_iter = 100 channel.test_vals = [-2.489827,2.821844,0.008730,0.053947] channel.su2_exec = "SU2_CFD" channel.timeout = 1600 channel.tol = 0.00001 test_list.append(channel) # NACA0012 naca0012 = TestCase('naca0012') naca0012.cfg_dir = "euler/naca0012" naca0012.cfg_file = "inv_NACA0012_Roe.cfg" naca0012.test_iter = 100 naca0012.test_vals = [-6.195996,-5.597033,0.334818,0.022197] naca0012.su2_exec = "SU2_CFD" naca0012.timeout = 1600 naca0012.tol = 0.00001 test_list.append(naca0012) # Supersonic wedge wedge = TestCase('wedge') wedge.cfg_dir = "euler/wedge" wedge.cfg_file = "inv_wedge_HLLC.cfg" wedge.test_iter = 100 wedge.test_vals = [-2.717009,3.183742,-0.252144,0.044399] wedge.su2_exec = "SU2_CFD" wedge.timeout = 1600 wedge.tol = 0.00001 test_list.append(wedge) # ONERA M6 Wing oneram6 = TestCase('oneram6') oneram6.cfg_dir = "euler/oneram6" oneram6.cfg_file = "inv_ONERAM6_JST.cfg" oneram6.test_iter = 10 oneram6.test_vals = [-4.819422,-4.284121,0.290066,0.015809] oneram6.su2_exec = "SU2_CFD" oneram6.timeout = 9600 oneram6.tol = 0.00001 test_list.append(oneram6) ########################## ### Compressible N-S ### ########################## # Laminar flat plate flatplate = TestCase('flatplate') flatplate.cfg_dir = "navierstokes/flatplate" flatplate.cfg_file = "lam_flatplate.cfg" flatplate.test_iter = 100 flatplate.test_vals = [-5.225114,0.270273,0.020536,0.012860] flatplate.su2_exec = "SU2_CFD" flatplate.timeout = 1600 flatplate.tol = 0.00001 test_list.append(flatplate) # Laminar cylinder (steady) cylinder = TestCase('cylinder') cylinder.cfg_dir = "navierstokes/cylinder" cylinder.cfg_file = "lam_cylinder.cfg" cylinder.test_iter = 25 cylinder.test_vals = [-6.781338,-1.335300,-0.025054,0.974312] cylinder.su2_exec = "SU2_CFD" cylinder.timeout = 1600 cylinder.tol = 0.00001 test_list.append(cylinder) ########################## ### Compressible RANS ### ########################## # RAE2822 rae2822 = TestCase('rae2822') rae2822.cfg_dir = "rans/rae2822" rae2822.cfg_file = "turb_SA_RAE2822.cfg" rae2822.test_iter = 100 rae2822.test_vals = [-3.559272,-5.452676,0.884380,0.024162] #last 4 columns rae2822.su2_exec = "SU2_CFD" rae2822.timeout = 1600 rae2822.tol = 0.00001 test_list.append(rae2822) # Flat plate turb_flatplate = TestCase('turb_flatplate') turb_flatplate.cfg_dir = "rans/flatplate" turb_flatplate.cfg_file = "turb_SA_flatplate.cfg" turb_flatplate.test_iter = 100 turb_flatplate.test_vals = [-5.074224,-7.332708,0.000505,0.010354] #last 4 columns turb_flatplate.su2_exec = "SU2_CFD" turb_flatplate.timeout = 1600 turb_flatplate.tol = 0.00001 test_list.append(turb_flatplate) # ONERA M6 Wing turb_oneram6 = TestCase('turb_oneram6') turb_oneram6.cfg_dir = "rans/oneram6" turb_oneram6.cfg_file = "turb_ONERAM6.cfg" turb_oneram6.test_iter = 10 turb_oneram6.test_vals = [-2.343659,-6.584583,0.230390,0.155769]#last 4 columns turb_oneram6.su2_exec = "SU2_CFD" turb_oneram6.timeout = 3200 turb_oneram6.tol = 0.00001 test_list.append(turb_oneram6) # NACA0012 turb_naca0012 = TestCase('turb_naca0012') turb_naca0012.cfg_dir = "rans/naca0012" turb_naca0012.cfg_file = "turb_NACA0012.cfg" turb_naca0012.test_iter = 20 turb_naca0012.test_vals = [-2.824671,-7.364141,-0.000026,0.803047] #last 4 columns turb_naca0012.su2_exec = "SU2_CFD" turb_naca0012.timeout = 3200 turb_naca0012.tol = 0.00001 test_list.append(turb_naca0012) ############################ ### Incompressible RANS ### ############################ # NACA0012 inc_turb_naca0012 = TestCase('inc_turb_naca0012') inc_turb_naca0012.cfg_dir = "incomp_rans/naca0012" inc_turb_naca0012.cfg_file = "naca0012.cfg" inc_turb_naca0012.test_iter = 20 inc_turb_naca0012.test_vals = [-4.709981,-11.007623,0.000008,0.210345] #last 4 columns inc_turb_naca0012.su2_exec = "SU2_CFD" inc_turb_naca0012.timeout = 1600 inc_turb_naca0012.tol = 0.00001 test_list.append(inc_turb_naca0012) ##################################### ### Cont. adj. compressible Euler ### ##################################### # Inviscid NACA0012 contadj_naca0012 = TestCase('contadj_naca0012') contadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" contadj_naca0012.cfg_file = "inv_NACA0012.cfg" contadj_naca0012.test_iter = 100 contadj_naca0012.test_vals = [-4.882472,-10.149505,0.006059,0.519590] #last 4 columns contadj_naca0012.su2_exec = "SU2_CFD" contadj_naca0012.timeout = 1600 contadj_naca0012.tol = 0.00001 test_list.append(contadj_naca0012) # Inviscid RAM-C (To be validated with finite differences) contadj_ram_c = TestCase('contadj_ram_c') contadj_ram_c.cfg_dir = "cont_adj_euler/ram_c" contadj_ram_c.cfg_file = "inv_RAMC.cfg" contadj_ram_c.test_iter = 100 contadj_ram_c.test_vals = [0.776609,-7.308868,-0.001885,0.080464] #last 4 columns contadj_ram_c.su2_exec = "SU2_CFD" contadj_ram_c.timeout = 1600 contadj_ram_c.tol = 0.00001 test_list.append(contadj_ram_c) ################################### ### Cont. adj. compressible N-S ### ################################### # Adjoint laminar cylinder contadj_ns_cylinder = TestCase('contadj_ns_cylinder') contadj_ns_cylinder.cfg_dir = "cont_adj_navierstokes/cylinder" contadj_ns_cylinder.cfg_file = "lam_cylinder.cfg" contadj_ns_cylinder.test_iter = 100 contadj_ns_cylinder.test_vals = [2.467226,-2.105465,0.555930,93.625000] #last 4 columns contadj_ns_cylinder.su2_exec = "SU2_CFD" contadj_ns_cylinder.timeout = 1600 contadj_ns_cylinder.tol = 0.00001 test_list.append(contadj_ns_cylinder) # Adjoint laminar naca0012 contadj_ns_naca0012 = TestCase('contadj_ns_naca0012') contadj_ns_naca0012.cfg_dir = "cont_adj_navierstokes/naca0012" contadj_ns_naca0012.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012.test_iter = 100 contadj_ns_naca0012.test_vals = [-0.012901,-5.322715,0.896630,-0.045627] #last 4 columns contadj_ns_naca0012.su2_exec = "SU2_CFD" contadj_ns_naca0012.timeout = 1600 contadj_ns_naca0012.tol = 0.00001 test_list.append(contadj_ns_naca0012) ####################################################### ### Cont. adj. compressible RANS (frozen viscosity) ### ####################################################### # Adjoint turbulent NACA0012 (To be validated with finite differences) contadj_rans_naca0012 = TestCase('contadj_rans_naca0012') contadj_rans_naca0012.cfg_dir = "cont_adj_rans/naca0012" contadj_rans_naca0012.cfg_file = "turb_nasa.cfg" contadj_rans_naca0012.test_iter = 100 contadj_rans_naca0012.test_vals = [-5.356749,-8.622049,18.310000,-0.000000] #last 4 columns contadj_rans_naca0012.su2_exec = "SU2_CFD" contadj_rans_naca0012.timeout = 1600 contadj_rans_naca0012.tol = 0.00001 test_list.append(contadj_rans_naca0012) ####################################### ### Cont. adj. incompressible Euler ### ####################################### # Adjoint Incompressible Inviscid NACA0012 contadj_incomp_NACA0012 = TestCase('contadj_incomp_NACA0012') contadj_incomp_NACA0012.cfg_dir = "cont_adj_incomp_euler/naca0012" contadj_incomp_NACA0012.cfg_file = "incomp_NACA0012.cfg" contadj_incomp_NACA0012.test_iter = 140 contadj_incomp_NACA0012.test_vals = [-7.644867,-7.179288,0.011112,0.000000] #last 4 columns contadj_incomp_NACA0012.su2_exec = "SU2_CFD" contadj_incomp_NACA0012.timeout = 1600 contadj_incomp_NACA0012.tol = 0.00001 test_list.append(contadj_incomp_NACA0012) ##################################### ### Cont. adj. incompressible N-S ### ##################################### # Adjoint Incompressible Viscous Cylinder contadj_incomp_cylinder = TestCase('contadj_incomp_cylinder') contadj_incomp_cylinder.cfg_dir = "cont_adj_incomp_navierstokes/cylinder" contadj_incomp_cylinder.cfg_file = "lam_incomp_cylinder.cfg" contadj_incomp_cylinder.test_iter = 25 contadj_incomp_cylinder.test_vals = [-9.002576,-10.097248,0.048091,0.000000] #last 4 columns contadj_incomp_cylinder.su2_exec = "SU2_CFD" contadj_incomp_cylinder.timeout = 1600 contadj_incomp_cylinder.tol = 0.00001 test_list.append(contadj_incomp_cylinder) ###################################### ### Thermochemical Nonequilibrium ### ###################################### ramc = TestCase('ramc') ramc.cfg_dir = "tne2/ramc" ramc.cfg_file = "ramc61km.cfg" ramc.test_iter = 25 ramc.test_vals = [-4.638119,2.854417,-4.439634,0.000188] ramc.su2_exec = "SU2_CFD" ramc.timeout = 1600 ramc.tol = 0.00001 test_list.append(ramc) ###################################### ### Spectral Method ### ###################################### spectral = TestCase('spectral') spectral.cfg_dir = "spectral_method" spectral.cfg_file = "spectral.cfg" spectral.test_iter = 25 spectral.test_vals = [-1.621870,3.852164,0.007465,0.084358] spectral.su2_exec = "SU2_CFD" spectral.timeout = 1600 spectral.tol = 0.00001 test_list.append(spectral) ###################################### ### Moving Wall ### ###################################### # Lid-driven cavity cavity = TestCase('cavity') cavity.cfg_dir = "moving_wall/cavity" cavity.cfg_file = "lam_cavity.cfg" cavity.test_iter = 25 cavity.test_vals = [-5.957018,-0.518901,0.017833,-3.937129] cavity.su2_exec = "SU2_CFD" cavity.timeout = 1600 cavity.tol = 0.00001 test_list.append(cavity) # Spinning cylinder spinning_cylinder = TestCase('spinning_cylinder') spinning_cylinder.cfg_dir = "moving_wall/spinning_cylinder" spinning_cylinder.cfg_file = "spinning_cylinder.cfg" spinning_cylinder.test_iter = 25 spinning_cylinder.test_vals = [-6.754859,-1.333184,8.912235,0.163860] spinning_cylinder.su2_exec = "SU2_CFD" spinning_cylinder.timeout = 1600 spinning_cylinder.tol = 0.00001 test_list.append(spinning_cylinder) ###################################### ### Unsteady ### ###################################### # Square cylinder square_cylinder = TestCase('square_cylinder') square_cylinder.cfg_dir = "unsteady/square_cylinder" square_cylinder.cfg_file = "turb_square.cfg" square_cylinder.test_iter = 3 square_cylinder.test_vals = [-1.585044,-1.425752,1.490389,2.340439] square_cylinder.su2_exec = "SU2_CFD" square_cylinder.timeout = 1600 square_cylinder.tol = 0.00001 test_list.append(square_cylinder) ###################################### ### RUN TESTS ### ###################################### pass_list = [ test.run_test() for test in test_list ] if all(pass_list): sys.exit(0) else: sys.exit(1)
def main(): '''This program runs SU2 and ensures that the output matches specified values. This will be used to do checks when code is pushed to github to make sure nothing is broken. ''' test_list = [] ########################## ### Compressible Euler ### ########################## # Channel channel = TestCase('channel') channel.cfg_dir = "euler/channel" channel.cfg_file = "inv_channel_RK.cfg" channel.test_iter = 100 channel.test_vals = [-2.984481, 2.389875, 0.008865, 0.027854] #last 4 columns channel.su2_exec = "parallel_computation.py -f" channel.timeout = 1600 channel.tol = 0.00001 test_list.append(channel) # NACA0012 naca0012 = TestCase('naca0012') naca0012.cfg_dir = "euler/naca0012" naca0012.cfg_file = "inv_NACA0012_Roe.cfg" naca0012.test_iter = 100 naca0012.test_vals = [-6.237188, -5.641250, 0.334843, 0.022206] #last 4 columns naca0012.su2_exec = "parallel_computation.py -f" naca0012.timeout = 1600 naca0012.tol = 0.00001 test_list.append(naca0012) # Supersonic wedge wedge = TestCase('wedge') wedge.cfg_dir = "euler/wedge" wedge.cfg_file = "inv_wedge_HLLC.cfg" wedge.test_iter = 100 wedge.test_vals = [-1.702502, 3.923373, -0.252116, 0.044396] #last 4 columns wedge.su2_exec = "parallel_computation.py -f" wedge.timeout = 1600 wedge.tol = 0.00001 test_list.append(wedge) # ONERA M6 Wing oneram6 = TestCase('oneram6') oneram6.cfg_dir = "euler/oneram6" oneram6.cfg_file = "inv_ONERAM6.cfg" oneram6.test_iter = 10 oneram6.test_vals = [-13.398374, -12.928436, 0.282557, 0.012706] #last 4 columns oneram6.su2_exec = "parallel_computation.py -f" oneram6.timeout = 3200 oneram6.tol = 0.00001 test_list.append(oneram6) ########################## ### Compressible N-S ### ########################## # Laminar flat plate flatplate = TestCase('flatplate') flatplate.cfg_dir = "navierstokes/flatplate" flatplate.cfg_file = "lam_flatplate.cfg" flatplate.test_iter = 100 flatplate.test_vals = [-5.233923, 0.259801, -0.166790, 0.012722] #last 4 columns flatplate.su2_exec = "parallel_computation.py -f" flatplate.timeout = 1600 flatplate.tol = 0.00001 test_list.append(flatplate) # Laminar cylinder (steady) cylinder = TestCase('cylinder') cylinder.cfg_dir = "navierstokes/cylinder" cylinder.cfg_file = "lam_cylinder.cfg" cylinder.test_iter = 25 cylinder.test_vals = [-6.757291, -1.289309, -0.125948, 0.625438] #last 4 columns cylinder.su2_exec = "parallel_computation.py -f" cylinder.timeout = 1600 cylinder.tol = 0.00001 test_list.append(cylinder) ########################## ### Compressible RANS ### ########################## # RAE2822 SA rae2822_sa = TestCase('rae2822_sa') rae2822_sa.cfg_dir = "rans/rae2822" rae2822_sa.cfg_file = "turb_SA_RAE2822.cfg" rae2822_sa.test_iter = 100 rae2822_sa.test_vals = [-3.637762, -5.450251, 0.890401, 0.025056] #last 4 columns rae2822_sa.su2_exec = "parallel_computation.py -f" rae2822_sa.timeout = 1600 rae2822_sa.tol = 0.00001 test_list.append(rae2822_sa) # RAE2822 SST rae2822_sst = TestCase('rae2822_sst') rae2822_sst.cfg_dir = "rans/rae2822" rae2822_sst.cfg_file = "turb_SST_RAE2822.cfg" rae2822_sst.test_iter = 100 rae2822_sst.test_vals = [-1.217020, 4.023774, 0.892665, 0.025209] #last 4 columns rae2822_sst.su2_exec = "parallel_computation.py -f" rae2822_sst.timeout = 1600 rae2822_sst.tol = 0.00001 test_list.append(rae2822_sst) # Flat plate turb_flatplate = TestCase('turb_flatplate') turb_flatplate.cfg_dir = "rans/flatplate" turb_flatplate.cfg_file = "turb_SA_flatplate.cfg" turb_flatplate.test_iter = 100 turb_flatplate.test_vals = [-5.073540, -7.354716, -0.187154, 0.011105] #last 4 columns turb_flatplate.su2_exec = "parallel_computation.py -f" turb_flatplate.timeout = 1600 turb_flatplate.tol = 0.00001 test_list.append(turb_flatplate) # ONERA M6 Wing turb_oneram6 = TestCase('turb_oneram6') turb_oneram6.cfg_dir = "rans/oneram6" turb_oneram6.cfg_file = "turb_ONERAM6.cfg" turb_oneram6.test_iter = 10 turb_oneram6.test_vals = [-2.327509, -6.563372, 0.230438, 0.155815] #last 4 columns turb_oneram6.su2_exec = "parallel_computation.py -f" turb_oneram6.timeout = 3200 turb_oneram6.tol = 0.00001 test_list.append(turb_oneram6) # NACA0012 (SA, FUN3D finest grid results: CL=1.0983, CD=0.01242) turb_naca0012_sa = TestCase('turb_naca0012_sa') turb_naca0012_sa.cfg_dir = "rans/naca0012" turb_naca0012_sa.cfg_file = "turb_NACA0012_sa.cfg" turb_naca0012_sa.test_iter = 10 turb_naca0012_sa.test_vals = [-12.000764, -9.145363, 1.070528, 0.019417] #last 4 columns turb_naca0012_sa.su2_exec = "parallel_computation.py -f" turb_naca0012_sa.timeout = 3200 turb_naca0012_sa.tol = 0.00001 test_list.append(turb_naca0012_sa) # NACA0012 (SST, FUN3D finest grid results: CL=1.0840, CD=0.01253) turb_naca0012_sst = TestCase('turb_naca0012_sst') turb_naca0012_sst.cfg_dir = "rans/naca0012" turb_naca0012_sst.cfg_file = "turb_NACA0012_sst.cfg" turb_naca0012_sst.test_iter = 10 turb_naca0012_sst.test_vals = [-15.039665, -7.220109, 1.059622, 0.019138] #last 4 columns turb_naca0012_sst.su2_exec = "parallel_computation.py -f" turb_naca0012_sst.timeout = 3200 turb_naca0012_sst.tol = 0.00001 test_list.append(turb_naca0012_sst) ############################ ### Incompressible RANS ### ############################ # NACA0012 inc_turb_naca0012 = TestCase('inc_turb_naca0012') inc_turb_naca0012.cfg_dir = "incomp_rans/naca0012" inc_turb_naca0012.cfg_file = "naca0012.cfg" inc_turb_naca0012.test_iter = 20 inc_turb_naca0012.test_vals = [-4.709508, -11.006161, -0.000017, 0.211696] #last 4 columns inc_turb_naca0012.su2_exec = "parallel_computation.py -f" inc_turb_naca0012.timeout = 1600 inc_turb_naca0012.tol = 0.00001 test_list.append(inc_turb_naca0012) ##################################### ### Cont. adj. compressible Euler ### ##################################### # Inviscid NACA0012 contadj_naca0012 = TestCase('contadj_naca0012') contadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" contadj_naca0012.cfg_file = "inv_NACA0012.cfg" contadj_naca0012.test_iter = 5 contadj_naca0012.test_vals = [-9.783712, -15.192812, 0.300920, 0.536870] #last 4 columns contadj_naca0012.su2_exec = "parallel_computation.py -f" contadj_naca0012.timeout = 1600 contadj_naca0012.tol = 0.00001 test_list.append(contadj_naca0012) # Inviscid ONERA M6 contadj_oneram6 = TestCase('contadj_oneram6') contadj_oneram6.cfg_dir = "cont_adj_euler/oneram6" contadj_oneram6.cfg_file = "inv_ONERAM6.cfg" contadj_oneram6.test_iter = 10 contadj_oneram6.test_vals = [-12.132862, -12.704820, 0.685900, 0.140920] #last 4 columns contadj_oneram6.su2_exec = "parallel_computation.py -f" contadj_oneram6.timeout = 1600 contadj_oneram6.tol = 0.00001 test_list.append(contadj_oneram6) ################################### ### Cont. adj. compressible N-S ### ################################### # Adjoint laminar cylinder contadj_ns_cylinder = TestCase('contadj_ns_cylinder') contadj_ns_cylinder.cfg_dir = "cont_adj_navierstokes/cylinder" contadj_ns_cylinder.cfg_file = "lam_cylinder.cfg" contadj_ns_cylinder.test_iter = 100 contadj_ns_cylinder.test_vals = [ -3.658396, -9.117436, -2.056700, 4.497000 ] #last 4 columns contadj_ns_cylinder.su2_exec = "parallel_computation.py -f" contadj_ns_cylinder.timeout = 1600 contadj_ns_cylinder.tol = 0.00001 test_list.append(contadj_ns_cylinder) # Adjoint laminar naca0012 subsonic contadj_ns_naca0012_sub = TestCase('contadj_ns_naca0012_sub') contadj_ns_naca0012_sub.cfg_dir = "cont_adj_navierstokes/naca0012_sub" contadj_ns_naca0012_sub.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_sub.test_iter = 100 contadj_ns_naca0012_sub.test_vals = [ -2.744551, -8.216469, 0.518810, 0.229160 ] #last 4 columns contadj_ns_naca0012_sub.su2_exec = "parallel_computation.py -f" contadj_ns_naca0012_sub.timeout = 1600 contadj_ns_naca0012_sub.tol = 0.00001 test_list.append(contadj_ns_naca0012_sub) # Adjoint laminar naca0012 transonic contadj_ns_naca0012_trans = TestCase('contadj_ns_naca0012_trans') contadj_ns_naca0012_trans.cfg_dir = "cont_adj_navierstokes/naca0012_trans" contadj_ns_naca0012_trans.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_trans.test_iter = 100 contadj_ns_naca0012_trans.test_vals = [ -1.041539, -6.578524, 1.772300, 0.620880 ] #last 4 columns contadj_ns_naca0012_trans.su2_exec = "parallel_computation.py -f" contadj_ns_naca0012_trans.timeout = 1600 contadj_ns_naca0012_trans.tol = 0.00001 test_list.append(contadj_ns_naca0012_trans) ####################################################### ### Cont. adj. compressible RANS (frozen viscosity) ### ####################################################### # Adjoint turbulent NACA0012 contadj_rans_naca0012 = TestCase('contadj_rans_naca0012') contadj_rans_naca0012.cfg_dir = "cont_adj_rans/naca0012" contadj_rans_naca0012.cfg_file = "turb_nasa.cfg" contadj_rans_naca0012.test_iter = 100 contadj_rans_naca0012.test_vals = [ -0.814757, -5.726517, -19.169000, -2.994100 ] #last 4 columns contadj_rans_naca0012.su2_exec = "parallel_computation.py -f" contadj_rans_naca0012.timeout = 1600 contadj_rans_naca0012.tol = 0.00001 test_list.append(contadj_rans_naca0012) # Adjoint turbulent RAE2822 contadj_rans_rae2822 = TestCase('contadj_rans_rae822') contadj_rans_rae2822.cfg_dir = "cont_adj_rans/rae2822" contadj_rans_rae2822.cfg_file = "turb_SA_RAE2822.cfg" contadj_rans_rae2822.test_iter = 100 contadj_rans_rae2822.test_vals = [ -5.381632, -10.887032, -0.212470, 0.269390 ] #last 4 columns contadj_rans_rae2822.su2_exec = "parallel_computation.py -f" contadj_rans_rae2822.timeout = 1600 contadj_rans_rae2822.tol = 0.00001 test_list.append(contadj_rans_rae2822) ####################################### ### Cont. adj. incompressible Euler ### ####################################### # Adjoint Incompressible Inviscid NACA0012 contadj_incomp_NACA0012 = TestCase('contadj_incomp_NACA0012') contadj_incomp_NACA0012.cfg_dir = "cont_adj_incomp_euler/naca0012" contadj_incomp_NACA0012.cfg_file = "incomp_NACA0012.cfg" contadj_incomp_NACA0012.test_iter = 5 contadj_incomp_NACA0012.test_vals = [ -11.968536, -12.133235, 1.939900, 0.000000 ] #last 4 columns contadj_incomp_NACA0012.su2_exec = "parallel_computation.py -f" contadj_incomp_NACA0012.timeout = 1600 contadj_incomp_NACA0012.tol = 0.00001 test_list.append(contadj_incomp_NACA0012) ##################################### ### Cont. adj. incompressible N-S ### ##################################### # Adjoint Incompressible Viscous Cylinder contadj_incomp_cylinder = TestCase('contadj_incomp_cylinder') contadj_incomp_cylinder.cfg_dir = "cont_adj_incomp_navierstokes/cylinder" contadj_incomp_cylinder.cfg_file = "lam_incomp_cylinder.cfg" contadj_incomp_cylinder.test_iter = 25 contadj_incomp_cylinder.test_vals = [ -5.718776, -7.020714, -2.932100, 0.000000 ] #last 4 columns contadj_incomp_cylinder.su2_exec = "parallel_computation.py -f" contadj_incomp_cylinder.timeout = 1600 contadj_incomp_cylinder.tol = 0.00001 test_list.append(contadj_incomp_cylinder) ###################################### ### Thermochemical Nonequilibrium ### ###################################### # RAM-C II Sphere-Cone -- 61km Altitude ramc = TestCase('ramc') ramc.cfg_dir = "tne2/ramc" ramc.cfg_file = "ramc61km.cfg" ramc.test_iter = 25 ramc.test_vals = [-4.643029, 2.849441, -4.443852, 0.000313] #last 4 columns ramc.su2_exec = "parallel_computation.py -f" ramc.timeout = 1600 ramc.tol = 0.00001 test_list.append(ramc) ###################################### ### Moving Wall ### ###################################### # Lid-driven cavity cavity = TestCase('cavity') cavity.cfg_dir = "moving_wall/cavity" cavity.cfg_file = "lam_cavity.cfg" cavity.test_iter = 25 cavity.test_vals = [-5.594283, -0.130745, -0.510607, 0.061921] #last 4 columns cavity.su2_exec = "parallel_computation.py -f" cavity.timeout = 1600 cavity.tol = 0.00001 test_list.append(cavity) # Spinning cylinder spinning_cylinder = TestCase('spinning_cylinder') spinning_cylinder.cfg_dir = "moving_wall/spinning_cylinder" spinning_cylinder.cfg_file = "spinning_cylinder.cfg" spinning_cylinder.test_iter = 25 spinning_cylinder.test_vals = [-7.637313, -2.194229, 1.212769, 1.605369] #last 4 columns spinning_cylinder.su2_exec = "parallel_computation.py -f" spinning_cylinder.timeout = 1600 spinning_cylinder.tol = 0.00001 test_list.append(spinning_cylinder) ###################################### ### Unsteady ### ###################################### # Square cylinder square_cylinder = TestCase('square_cylinder') square_cylinder.cfg_dir = "unsteady/square_cylinder" square_cylinder.cfg_file = "turb_square.cfg" square_cylinder.test_iter = 3 square_cylinder.test_vals = [-1.544602, 0.048576, 1.398951, 2.196894] #last 4 columns square_cylinder.su2_exec = "parallel_computation.py -f" square_cylinder.timeout = 1600 square_cylinder.tol = 0.00001 test_list.append(square_cylinder) # Gust sine_gust = TestCase('sine_gust') sine_gust.cfg_dir = "gust" sine_gust.cfg_file = "inv_gust_NACA0012.cfg" sine_gust.test_iter = 5 sine_gust.test_vals = [-1.977531, 3.481790, -0.014552, -0.004969] #last 4 columns sine_gust.su2_exec = "parallel_computation.py -f" sine_gust.timeout = 1600 sine_gust.tol = 0.00001 sine_gust.unsteady = True test_list.append(sine_gust) # Aeroelastic aeroelastic = TestCase('aeroelastic') aeroelastic.cfg_dir = "aeroelastic" aeroelastic.cfg_file = "aeroelastic_NACA64A010.cfg" aeroelastic.test_iter = 2 aeroelastic.test_vals = [0.077319, 0.036428, -1.685289e-03, -1.129111e-04] #last 4 columns aeroelastic.su2_exec = "parallel_computation.py -f" aeroelastic.timeout = 1600 aeroelastic.tol = 0.000001 aeroelastic.unsteady = True test_list.append(aeroelastic) ###################################### ### NICFD ### ###################################### # Rarefaction shock wave edge_VW edge_VW = TestCase('edge_VW') edge_VW.cfg_dir = "nicf/edge" edge_VW.cfg_file = "edge_VW.cfg" edge_VW.test_iter = 100 edge_VW.test_vals = [-1.446201, 4.751213, -0.000046, 0.000000] #last 4 columns edge_VW.su2_exec = "parallel_computation.py -f" edge_VW.timeout = 1600 edge_VW.tol = 0.00001 test_list.append(edge_VW) # Rarefaction shock wave edge_PPR edge_PPR = TestCase('edge_PPR') edge_PPR.cfg_dir = "nicf/edge" edge_PPR.cfg_file = "edge_PPR.cfg" edge_PPR.test_iter = 100 edge_PPR.test_vals = [-1.995058, 4.175675, -0.000056, 0.000000] #last 4 columns edge_PPR.su2_exec = "parallel_computation.py -f" edge_PPR.timeout = 1600 edge_PPR.tol = 0.00001 test_list.append(edge_PPR) ###################################### ### RUN TESTS ### ###################################### pass_list = [test.run_test() for test in test_list] # Tests summary print '==================================================================' print 'Summary of the parallel tests' for i, test in enumerate(test_list): if (pass_list[i]): print ' passed - %s' % test.tag else: print '* FAILED - %s' % test.tag if all(pass_list): sys.exit(0) else: sys.exit(1)
def main(): '''This program runs SU2 and ensures that the output matches specified values. This will be used to do checks when code is pushed to github to make sure nothing is broken. ''' test_list = [] ########################## ### Compressible Euler ### ########################## # Channel channel = TestCase('channel') channel.cfg_dir = "euler/channel" channel.cfg_file = "inv_channel_RK.cfg" channel.test_iter = 100 channel.test_vals = [-3.110240, 2.263506, 0.008686, 0.029098] #last 4 columns channel.su2_exec = "SU2_CFD" channel.timeout = 1600 channel.tol = 0.00001 test_list.append(channel) # NACA0012 naca0012 = TestCase('naca0012') naca0012.cfg_dir = "euler/naca0012" naca0012.cfg_file = "inv_NACA0012_Roe.cfg" naca0012.test_iter = 100 naca0012.test_vals = [-6.191618, -5.592802, 0.334809, 0.022197] #last 4 columns naca0012.su2_exec = "SU2_CFD" naca0012.timeout = 1600 naca0012.tol = 0.00001 test_list.append(naca0012) # Supersonic wedge wedge = TestCase('wedge') wedge.cfg_dir = "euler/wedge" wedge.cfg_file = "inv_wedge_HLLC.cfg" wedge.test_iter = 100 wedge.test_vals = [-1.769374, 3.848733, -0.252191, 0.044410] #last 4 columns wedge.su2_exec = "SU2_CFD" wedge.timeout = 1600 wedge.tol = 0.00001 test_list.append(wedge) # ONERA M6 Wing oneram6 = TestCase('oneram6') oneram6.cfg_dir = "euler/oneram6" oneram6.cfg_file = "inv_ONERAM6.cfg" oneram6.test_iter = 10 oneram6.test_vals = [-13.393130, -12.928941, 0.282557, 0.012706] #last 4 columns oneram6.su2_exec = "SU2_CFD" oneram6.timeout = 9600 oneram6.tol = 0.00001 test_list.append(oneram6) # Fixed CL NACA0012 fixedCL_naca0012 = TestCase('fixedcl_naca0012') fixedCL_naca0012.cfg_dir = "fixed_cl/naca0012" fixedCL_naca0012.cfg_file = "inv_NACA0012.cfg" fixedCL_naca0012.test_iter = 500 fixedCL_naca0012.test_vals = [-6.707530,-1.319851,0.300017,0.019390] #last 4 columns fixedCL_naca0012.su2_exec = "SU2_CFD" fixedCL_naca0012.timeout = 1600 fixedCL_naca0012.tol = 0.00001 test_list.append(fixedCL_naca0012) # Polar sweep of the inviscid NACA0012 polar_naca0012 = TestCase('polar_naca0012') polar_naca0012.cfg_dir = "polar/naca0012" polar_naca0012.cfg_file = "inv_NACA0012.cfg" polar_naca0012.polar = True polar_naca0012.test_iter = 10 polar_naca0012.test_vals = [-1.319488, 4.112397, 0.011954, 0.009584] #last 4 columns polar_naca0012.su2_exec = "compute_polar.py -n 1 -i 11" polar_naca0012.timeout = 1600 polar_naca0012.tol = 0.00001 test_list.append(polar_naca0012) ########################## ### Compressible N-S ### ########################## # Laminar flat plate flatplate = TestCase('flatplate') flatplate.cfg_dir = "navierstokes/flatplate" flatplate.cfg_file = "lam_flatplate.cfg" flatplate.test_iter = 100 flatplate.test_vals = [-5.231916, 0.261866, -0.166832, 0.012717] #last 4 columns flatplate.su2_exec = "SU2_CFD" flatplate.timeout = 1600 flatplate.tol = 0.00001 test_list.append(flatplate) # Laminar cylinder (steady) cylinder = TestCase('cylinder') cylinder.cfg_dir = "navierstokes/cylinder" cylinder.cfg_file = "lam_cylinder.cfg" cylinder.test_iter = 25 cylinder.test_vals = [-6.765426, -1.297422, 0.019496, 0.310082] #last 4 columns cylinder.su2_exec = "SU2_CFD" cylinder.timeout = 1600 cylinder.tol = 0.00001 test_list.append(cylinder) # Laminar cylinder (low Mach correction) cylinder_lowmach = TestCase('cylinder_lowmach') cylinder_lowmach.cfg_dir = "navierstokes/cylinder" cylinder_lowmach.cfg_file = "cylinder_lowmach.cfg" cylinder_lowmach.test_iter = 25 cylinder_lowmach.test_vals = [-6.850123, -1.388088, -0.056090, 108.140177] #last 4 columns cylinder_lowmach.su2_exec = "SU2_CFD" cylinder_lowmach.timeout = 1600 cylinder_lowmach.tol = 0.00001 test_list.append(cylinder_lowmach) ########################## ### Compressible RANS ### ########################## # RAE2822 SA rae2822_sa = TestCase('rae2822_sa') rae2822_sa.cfg_dir = "rans/rae2822" rae2822_sa.cfg_file = "turb_SA_RAE2822.cfg" rae2822_sa.test_iter = 100 rae2822_sa.test_vals = [-3.442524, -5.441383, 0.884279, 0.024730] #last 4 columns rae2822_sa.su2_exec = "SU2_CFD" rae2822_sa.timeout = 1600 rae2822_sa.tol = 0.00001 test_list.append(rae2822_sa) # RAE2822 SST rae2822_sst = TestCase('rae2822_sst') rae2822_sst.cfg_dir = "rans/rae2822" rae2822_sst.cfg_file = "turb_SST_RAE2822.cfg" rae2822_sst.test_iter = 100 rae2822_sst.test_vals = [-1.185243, 4.018464, 0.886786, 0.024927] #last 4 columns rae2822_sst.su2_exec = "SU2_CFD" rae2822_sst.timeout = 1600 rae2822_sst.tol = 0.00001 test_list.append(rae2822_sst) # Flat plate turb_flatplate = TestCase('turb_flatplate') turb_flatplate.cfg_dir = "rans/flatplate" turb_flatplate.cfg_file = "turb_SA_flatplate.cfg" turb_flatplate.test_iter = 100 turb_flatplate.test_vals = [-5.069447, -7.354601, -0.187187, 0.010831] #last 4 columns turb_flatplate.su2_exec = "SU2_CFD" turb_flatplate.timeout = 1600 turb_flatplate.tol = 0.00001 test_list.append(turb_flatplate) # ONERA M6 Wing turb_oneram6 = TestCase('turb_oneram6') turb_oneram6.cfg_dir = "rans/oneram6" turb_oneram6.cfg_file = "turb_ONERAM6.cfg" turb_oneram6.test_iter = 10 turb_oneram6.test_vals = [-2.327509, -6.563372, 0.230438, 0.155815]#last 4 columns turb_oneram6.su2_exec = "SU2_CFD" turb_oneram6.timeout = 3200 turb_oneram6.tol = 0.00001 test_list.append(turb_oneram6) # NACA0012 (SA, FUN3D results for finest grid: CL=1.0983, CD=0.01242) turb_naca0012_sa = TestCase('turb_naca0012_sa') turb_naca0012_sa.cfg_dir = "rans/naca0012" turb_naca0012_sa.cfg_file = "turb_NACA0012_sa.cfg" turb_naca0012_sa.test_iter = 10 turb_naca0012_sa.test_vals = [-12.000763, -9.145363, 1.070528, 0.019417] #last 4 columns turb_naca0012_sa.su2_exec = "SU2_CFD" turb_naca0012_sa.timeout = 3200 turb_naca0012_sa.tol = 0.00001 test_list.append(turb_naca0012_sa) # NACA0012 (SST, FUN3D results for finest grid: CL=1.0840, CD=0.01253) turb_naca0012_sst = TestCase('turb_naca0012_sst') turb_naca0012_sst.cfg_dir = "rans/naca0012" turb_naca0012_sst.cfg_file = "turb_NACA0012_sst.cfg" turb_naca0012_sst.test_iter = 10 turb_naca0012_sst.test_vals = [-15.039675, -7.219913, 1.059622, 0.019138] #last 4 columns turb_naca0012_sst.su2_exec = "SU2_CFD" turb_naca0012_sst.timeout = 3200 turb_naca0012_sst.tol = 0.00001 test_list.append(turb_naca0012_sst) # PROPELLER propeller = TestCase('propeller') propeller.cfg_dir = "rans/propeller" propeller.cfg_file = "propeller.cfg" propeller.test_iter = 10 propeller.test_vals = [-3.380312, -8.129519, 0.000043, 0.056159] #last 4 columns propeller.su2_exec = "SU2_CFD" propeller.timeout = 3200 propeller.tol = 0.00001 test_list.append(propeller) ############################# ### Incompressible Euler ### ############################# # NACA0012 Hydrofoil inc_euler_naca0012 = TestCase('inc_euler_naca0012') inc_euler_naca0012.cfg_dir = "incomp_euler/naca0012" inc_euler_naca0012.cfg_file = "incomp_NACA0012.cfg" inc_euler_naca0012.test_iter = 20 inc_euler_naca0012.test_vals = [-3.590333,-3.151515,0.960192,0.013260] #last 4 columns inc_euler_naca0012.su2_exec = "SU2_CFD" inc_euler_naca0012.timeout = 1600 inc_euler_naca0012.tol = 0.00001 test_list.append(inc_euler_naca0012) ############################ ### Incompressible RANS ### ############################ # NACA0012 inc_turb_naca0012 = TestCase('inc_turb_naca0012') inc_turb_naca0012.cfg_dir = "incomp_rans/naca0012" inc_turb_naca0012.cfg_file = "naca0012.cfg" inc_turb_naca0012.test_iter = 20 inc_turb_naca0012.test_vals = [-4.710052, -11.007500, -0.000001, 0.210445] #last 4 columns inc_turb_naca0012.su2_exec = "SU2_CFD" inc_turb_naca0012.timeout = 1600 inc_turb_naca0012.tol = 0.00001 test_list.append(inc_turb_naca0012) ######################### ### Transition ### ######################### # Schubauer-Klebanoff Natural Transition schubauer_klebanoff_transition = TestCase('Schubauer_Klebanoff') schubauer_klebanoff_transition.cfg_dir = "transition/Schubauer_Klebanoff" schubauer_klebanoff_transition.cfg_file = "transitional_BC_model_ConfigFile.cfg" schubauer_klebanoff_transition.test_iter = 250 schubauer_klebanoff_transition.test_vals = [-9.474452, -15.630834, 0.000520, 0.001062] #last 4 columns schubauer_klebanoff_transition.su2_exec = "SU2_CFD" schubauer_klebanoff_transition.timeout = 1600 schubauer_klebanoff_transition.tol = 0.00001 test_list.append(schubauer_klebanoff_transition) ##################################### ### Cont. adj. compressible Euler ### ##################################### # Inviscid NACA0012 contadj_naca0012 = TestCase('contadj_naca0012') contadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" contadj_naca0012.cfg_file = "inv_NACA0012.cfg" contadj_naca0012.test_iter = 5 contadj_naca0012.test_vals = [-9.787554, -15.192510, 0.300920, 0.019552] #last 4 columns contadj_naca0012.su2_exec = "SU2_CFD" contadj_naca0012.timeout = 1600 contadj_naca0012.tol = 0.00001 test_list.append(contadj_naca0012) # Inviscid ONERA M6 contadj_oneram6 = TestCase('contadj_oneram6') contadj_oneram6.cfg_dir = "cont_adj_euler/oneram6" contadj_oneram6.cfg_file = "inv_ONERAM6.cfg" contadj_oneram6.test_iter = 10 contadj_oneram6.test_vals = [-12.133352, -12.707213, 6.8590e-01, 0.007594] #last 4 columns contadj_oneram6.su2_exec = "SU2_CFD" contadj_oneram6.timeout = 1600 contadj_oneram6.tol = 0.00001 test_list.append(contadj_oneram6) # Inviscid WEDGE: tests generalized adjoint contadj_wedge = TestCase('contadj_wedge') contadj_wedge.cfg_dir = "cont_adj_euler/wedge" contadj_wedge.cfg_file = "inv_wedge_ROE.cfg" contadj_wedge.test_iter = 10 contadj_wedge.test_vals = [2.780403, -3.223266, -1448300.000000, -0.000000] #last 4 columns contadj_wedge.su2_exec = "SU2_CFD" contadj_wedge.timeout = 1600 contadj_wedge.tol = 0.00001 test_list.append(contadj_wedge) # Inviscid fixed CL NACA0012 contadj_fixedCL_naca0012 = TestCase('contadj_fixedcl_naca0012') contadj_fixedCL_naca0012.cfg_dir = "fixed_cl/naca0012" contadj_fixedCL_naca0012.cfg_file = "inv_NACA0012_ContAdj.cfg" contadj_fixedCL_naca0012.test_iter = 500 contadj_fixedCL_naca0012.test_vals = [-2.896959, -8.484896, 0.250600, 0.000004] #last 4 columns contadj_fixedCL_naca0012.su2_exec = "SU2_CFD" contadj_fixedCL_naca0012.timeout = 1600 contadj_fixedCL_naca0012.tol = 0.00001 test_list.append(contadj_fixedCL_naca0012) ################################### ### Cont. adj. compressible N-S ### ################################### # Adjoint laminar cylinder contadj_ns_cylinder = TestCase('contadj_ns_cylinder') contadj_ns_cylinder.cfg_dir = "cont_adj_navierstokes/cylinder" contadj_ns_cylinder.cfg_file = "lam_cylinder.cfg" contadj_ns_cylinder.test_iter = 100 contadj_ns_cylinder.test_vals = [-3.677184, -9.141850, 2.056700, -0.000000] #last 4 columns contadj_ns_cylinder.su2_exec = "SU2_CFD" contadj_ns_cylinder.timeout = 1600 contadj_ns_cylinder.tol = 0.00001 test_list.append(contadj_ns_cylinder) # Adjoint laminar naca0012 subsonic contadj_ns_naca0012_sub = TestCase('contadj_ns_naca0012_sub') contadj_ns_naca0012_sub.cfg_dir = "cont_adj_navierstokes/naca0012_sub" contadj_ns_naca0012_sub.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_sub.test_iter = 100 contadj_ns_naca0012_sub.test_vals = [-2.744551, -8.216469, 0.518810, 0.001210] #last 4 columns contadj_ns_naca0012_sub.su2_exec = "SU2_CFD" contadj_ns_naca0012_sub.timeout = 1600 contadj_ns_naca0012_sub.tol = 0.00001 test_list.append(contadj_ns_naca0012_sub) # Adjoint laminar naca0012 transonic contadj_ns_naca0012_trans = TestCase('contadj_ns_naca0012_trans') contadj_ns_naca0012_trans.cfg_dir = "cont_adj_navierstokes/naca0012_trans" contadj_ns_naca0012_trans.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_trans.test_iter = 100 contadj_ns_naca0012_trans.test_vals = [-1.041539, -6.578524, 1.772300, 0.012494] #last 4 columns contadj_ns_naca0012_trans.su2_exec = "SU2_CFD" contadj_ns_naca0012_trans.timeout = 1600 contadj_ns_naca0012_trans.tol = 0.00001 test_list.append(contadj_ns_naca0012_trans) ####################################################### ### Cont. adj. compressible RANS (frozen viscosity) ### ####################################################### # Adjoint turbulent NACA0012 contadj_rans_naca0012 = TestCase('contadj_rans_naca0012') contadj_rans_naca0012.cfg_dir = "cont_adj_rans/naca0012" contadj_rans_naca0012.cfg_file = "turb_nasa.cfg" contadj_rans_naca0012.test_iter = 100 contadj_rans_naca0012.test_vals = [-0.814757, -5.726517, 19.169000, -0.000000] #last 4 columns contadj_rans_naca0012.su2_exec = "SU2_CFD" contadj_rans_naca0012.timeout = 1600 contadj_rans_naca0012.tol = 0.00001 test_list.append(contadj_rans_naca0012) # Adjoint turbulent RAE2822 contadj_rans_rae2822 = TestCase('contadj_rans_rae2822') contadj_rans_rae2822.cfg_dir = "cont_adj_rans/rae2822" contadj_rans_rae2822.cfg_file = "turb_SA_RAE2822.cfg" contadj_rans_rae2822.test_iter = 100 contadj_rans_rae2822.test_vals = [-5.377843, -10.882446, -0.212470, 0.005448] #last 4 columns contadj_rans_rae2822.su2_exec = "SU2_CFD" contadj_rans_rae2822.timeout = 1600 contadj_rans_rae2822.tol = 0.00001 test_list.append(contadj_rans_rae2822) ####################################### ### Cont. adj. incompressible Euler ### ####################################### # Adjoint Incompressible Inviscid NACA0012 contadj_incomp_NACA0012 = TestCase('contadj_incomp_NACA0012') contadj_incomp_NACA0012.cfg_dir = "cont_adj_incomp_euler/naca0012" contadj_incomp_NACA0012.cfg_file = "incomp_NACA0012.cfg" contadj_incomp_NACA0012.test_iter = 5 contadj_incomp_NACA0012.test_vals = [-11.980272, -12.146779, 1.9399, 0.000000] #last 4 columns contadj_incomp_NACA0012.su2_exec = "SU2_CFD" contadj_incomp_NACA0012.timeout = 1600 contadj_incomp_NACA0012.tol = 0.00001 test_list.append(contadj_incomp_NACA0012) ##################################### ### Cont. adj. incompressible N-S ### ##################################### # Adjoint Incompressible Viscous Cylinder contadj_incomp_cylinder = TestCase('contadj_incomp_cylinder') contadj_incomp_cylinder.cfg_dir = "cont_adj_incomp_navierstokes/cylinder" contadj_incomp_cylinder.cfg_file = "lam_incomp_cylinder.cfg" contadj_incomp_cylinder.test_iter = 25 contadj_incomp_cylinder.test_vals = [-5.718622, -7.027366, 2.932100, 0.000000] #last 4 columns contadj_incomp_cylinder.su2_exec = "SU2_CFD" contadj_incomp_cylinder.timeout = 1600 contadj_incomp_cylinder.tol = 0.00001 test_list.append(contadj_incomp_cylinder) ###################################### ### Harmonic Balance ### ###################################### # Description of the regression test harmonic_balance = TestCase('harmonic_balance') harmonic_balance.cfg_dir = "harmonic_balance" harmonic_balance.cfg_file = "HB.cfg" harmonic_balance.test_iter = 25 harmonic_balance.test_vals = [-1.569573, 3.941896, 0.008780, 0.079775] #last 4 columns harmonic_balance.su2_exec = "SU2_CFD" harmonic_balance.timeout = 1600 harmonic_balance.tol = 0.00001 test_list.append(harmonic_balance) ###################################### ### Moving Wall ### ###################################### # Lid-driven cavity cavity = TestCase('cavity') cavity.cfg_dir = "moving_wall/cavity" cavity.cfg_file = "lam_cavity.cfg" cavity.test_iter = 25 cavity.test_vals = [-5.627934, -0.164470, 0.051972, 2.547034] #last 4 columns cavity.su2_exec = "SU2_CFD" cavity.timeout = 1600 cavity.tol = 0.00001 test_list.append(cavity) # Spinning cylinder spinning_cylinder = TestCase('spinning_cylinder') spinning_cylinder.cfg_dir = "moving_wall/spinning_cylinder" spinning_cylinder.cfg_file = "spinning_cylinder.cfg" spinning_cylinder.test_iter = 25 spinning_cylinder.test_vals = [-7.709662, -2.274900, 1.418422, 1.734206] #last 4 columns spinning_cylinder.su2_exec = "SU2_CFD" spinning_cylinder.timeout = 1600 spinning_cylinder.tol = 0.00001 test_list.append(spinning_cylinder) ###################################### ### Unsteady ### ###################################### # Square cylinder square_cylinder = TestCase('square_cylinder') square_cylinder.cfg_dir = "unsteady/square_cylinder" square_cylinder.cfg_file = "turb_square.cfg" square_cylinder.test_iter = 3 square_cylinder.test_vals = [-1.166406,0.076804,1.398548,2.197047] #last 4 columns square_cylinder.su2_exec = "SU2_CFD" square_cylinder.timeout = 1600 square_cylinder.tol = 0.00001 square_cylinder.unsteady = True test_list.append(square_cylinder) # Gust sine_gust = TestCase('sine_gust') sine_gust.cfg_dir = "gust" sine_gust.cfg_file = "inv_gust_NACA0012.cfg" sine_gust.test_iter = 5 sine_gust.test_vals = [-1.977531, 3.481790, -0.006222, -0.001342] #last 4 columns sine_gust.su2_exec = "SU2_CFD" sine_gust.timeout = 1600 sine_gust.tol = 0.00001 sine_gust.unsteady = True test_list.append(sine_gust) # Aeroelastic aeroelastic = TestCase('aeroelastic') aeroelastic.cfg_dir = "aeroelastic" aeroelastic.cfg_file = "aeroelastic_NACA64A010.cfg" aeroelastic.test_iter = 2 aeroelastic.test_vals = [0.077106, 0.036449, -1.684916e-03, -1.131735e-04] #last 4 columns aeroelastic.su2_exec = "SU2_CFD" aeroelastic.timeout = 1600 aeroelastic.tol = 0.000001 aeroelastic.unsteady = True test_list.append(aeroelastic) ###################################### ### NICFD ### ###################################### # ls89_sa ls89_sa = TestCase('ls89_sa') ls89_sa.cfg_dir = "nicf/LS89" ls89_sa.cfg_file = "turb_SA_PR.cfg" ls89_sa.test_iter = 100 ls89_sa.test_vals = [-5.062991, -13.374292, 0.128005, 0.323965] #last 4 columns ls89_sa.su2_exec = "SU2_CFD" ls89_sa.timeout = 1600 ls89_sa.tol = 0.00001 test_list.append(ls89_sa) # # ls89_sst # ls89_sst = TestCase('ls89_sst') # ls89_sst.cfg_dir = "nicf/LS89" # ls89_sst.cfg_file = "turb_SST_PR.cfg" # ls89_sst.test_iter = 100 # ls89_sst.test_vals = [-8.548266, -1.449437, 0.067986, 0.151168] #last 4 columns # ls89_sst.su2_exec = "SU2_CFD" # ls89_sst.timeout = 1600 # ls89_sst.tol = 0.00001 # test_list.append(ls89_sst) # Rarefaction shock wave edge_VW edge_VW = TestCase('edge_VW') edge_VW.cfg_dir = "nicf/edge" edge_VW.cfg_file = "edge_VW.cfg" edge_VW.test_iter = 100 edge_VW.test_vals = [-5.055874, 1.117978, -0.000009, 0.000000] #last 4 columns edge_VW.su2_exec = "SU2_CFD" edge_VW.timeout = 1600 edge_VW.tol = 0.00001 test_list.append(edge_VW) # Rarefaction shock wave edge_PPR edge_PPR = TestCase('edge_PPR') edge_PPR.cfg_dir = "nicf/edge" edge_PPR.cfg_file = "edge_PPR.cfg" edge_PPR.test_iter = 100 edge_PPR.test_vals = [-5.484387, 0.656352, -0.000037, 0.000000] #last 4 columns edge_PPR.su2_exec = "SU2_CFD" edge_PPR.timeout = 1600 edge_PPR.tol = 0.00001 test_list.append(edge_PPR) ###################################### ### turboSU2 ### ###################################### # Mini centrifugal turbine blade centrifugal_blade = TestCase('centrifugal_blade') centrifugal_blade.cfg_dir = "turbomachinery/centrifugal_blade" centrifugal_blade.cfg_file = "centrifugal_blade.cfg" centrifugal_blade.test_iter = 100 centrifugal_blade.test_vals = [-9.106943, -0.460429, 1.069070e+01, 3.396010e-01] #last 4 columns centrifugal_blade.su2_exec = "SU2_CFD" centrifugal_blade.timeout = 1600 centrifugal_blade.tol = 0.000001 test_list.append(centrifugal_blade) # Mini centrifugal turbine stage centrifugal_stage = TestCase('centrifugal_stage') centrifugal_stage.cfg_dir = "turbomachinery/centrifugal_stage" centrifugal_stage.cfg_file = "centrifugal_stage.cfg" centrifugal_stage.test_iter = 100 centrifugal_stage.test_vals = [-10.166628, 1.621134, 22.064950, 0.527107] #last 4 columns centrifugal_stage.su2_exec = "SU2_CFD" centrifugal_stage.timeout = 1600 centrifugal_stage.tol = 0.000001 test_list.append(centrifugal_stage) ###################################### ### Sliding Mesh ### ###################################### # Uniform flow # uniform_flow = TestCase('uniform_flow') # uniform_flow.cfg_dir = "sliding_interface/uniform_flow" # uniform_flow.cfg_file = "uniform_NN.cfg" # uniform_flow.test_iter = 50 # uniform_flow.test_vals = [-0.368836, 5.156090, 0.000000, 0.000000] #last 4 columns # uniform_flow.su2_exec = "SU2_CFD" # uniform_flow.timeout = 1600 # uniform_flow.tol = 0.000001 # uniform_flow.unsteady = True # test_list.append(uniform_flow) # Channel_2D channel_2D = TestCase('channel_2D') channel_2D.cfg_dir = "sliding_interface/channel_2D" channel_2D.cfg_file = "channel_2D_NN.cfg" channel_2D.test_iter = 4 channel_2D.test_vals = [-1.498300, 4.541411, 0.000000, 0.000000] #last 4 columns channel_2D.su2_exec = "SU2_CFD" channel_2D.timeout = 100 channel_2D.tol = 0.00001 channel_2D.unsteady = True test_list.append(channel_2D) # Channel_3D channel_3D = TestCase('channel_3D') channel_3D.cfg_dir = "sliding_interface/channel_3D" channel_3D.cfg_file = "channel_3D_NN.cfg" channel_3D.test_iter = 1 channel_3D.test_vals = [-1.899948, 4.032874, 0.000000, 0.000000] #last 4 columns channel_3D.su2_exec = "SU2_CFD" channel_3D.timeout = 1600 channel_3D.tol = 0.00001 channel_3D.unsteady = True test_list.append(channel_3D) # Pipe # pipe = TestCase('pipe') # pipe.cfg_dir = "sliding_interface/pipe" # pipe.cfg_file = "pipe_NN.cfg" # pipe.test_iter = 2 # pipe.test_vals = [-3.503708, 3.194241, 0.000000, 0.000000] #last 4 columns # pipe.su2_exec = "SU2_CFD" # pipe.timeout = 1600 # pipe.tol = 0.00001 # pipe.unsteady = True # test_list.append(pipe) ########################## ### FEA - FSI ### ########################## # Static beam, 3d statbeam3d = TestCase('statbeam3d') statbeam3d.cfg_dir = "fea_fsi/StatBeam_3d" statbeam3d.cfg_file = "configBeam_3d.cfg" statbeam3d.test_iter = 0 statbeam3d.test_vals = [-8.498274, -8.230638, -8.123824, 6.4095e+04] #last 4 columns statbeam3d.su2_exec = "SU2_CFD" statbeam3d.timeout = 1600 statbeam3d.tol = 0.00001 test_list.append(statbeam3d) # Dynamic beam, 2d dynbeam2d = TestCase('dynbeam2d') dynbeam2d.cfg_dir = "fea_fsi/DynBeam_2d" dynbeam2d.cfg_file = "configBeam_2d.cfg" dynbeam2d.test_iter = 6 dynbeam2d.test_vals = [-9.420640, -5.365872, -12.430382, 6.5210e+04] #last 4 columns dynbeam2d.su2_exec = "SU2_CFD" dynbeam2d.timeout = 1600 dynbeam2d.tol = 0.00001 test_list.append(dynbeam2d) # FSI, 2d fsi2d = TestCase('fsi2d') fsi2d.cfg_dir = "fea_fsi/WallChannel_2d" fsi2d.cfg_file = "configFSI_2D.cfg" fsi2d.test_iter = 4 fsi2d.test_vals = [2.000000, 0.500000, -7.777916, -1.139835] #last 4 columns fsi2d.su2_exec = "SU2_CFD" fsi2d.timeout = 1600 fsi2d.tol = 0.00001 test_list.append(fsi2d) ###################################### ### RUN TESTS ### ###################################### pass_list = [ test.run_test() for test in test_list ] ###################################### ### RUN SU2_GEO TESTS ### ###################################### # NACA0012 naca0012_geo = TestCase('naca0012_geo') naca0012_geo.cfg_dir = "optimization_euler/steady_naca0012" naca0012_geo.cfg_file = "inv_NACA0012_adv.cfg" naca0012_geo.test_vals = [0.120011, 0.0816925, 0.0, 1.0] #max thickness, area, twist, chord naca0012_geo.su2_exec = "SU2_GEO" naca0012_geo.timeout = 1600 naca0012_geo.tol = 0.00001 pass_list.append(naca0012_geo.run_geo()) test_list.append(naca0012_geo) ###################################### ### RUN SU2_DEF TESTS ### ###################################### # Inviscid NACA0012 (triangles) naca0012_def = TestCase('naca0012_def') naca0012_def.cfg_dir = "deformation/naca0012" naca0012_def.cfg_file = "def_NACA0012.cfg" naca0012_def.test_iter = 400 naca0012_def.test_vals = [4.30698e-15] #residual naca0012_def.su2_exec = "SU2_DEF" naca0012_def.timeout = 1600 naca0012_def.tol = 1e-15 pass_list.append(naca0012_def.run_def()) test_list.append(naca0012_def) # RAE2822 (mixed tris + quads) rae2822_def = TestCase('rae2822_def') rae2822_def.cfg_dir = "deformation/rae2822" rae2822_def.cfg_file = "def_RAE2822.cfg" rae2822_def.test_iter = 150 rae2822_def.test_vals = [5.59336e-16] #residual rae2822_def.su2_exec = "SU2_DEF" rae2822_def.timeout = 1600 rae2822_def.tol = 1e-16 pass_list.append(rae2822_def.run_def()) test_list.append(rae2822_def) # Turb NACA4412 (quads, wall distance) naca4412_def = TestCase('naca4412_def') naca4412_def.cfg_dir = "deformation/naca4412" naca4412_def.cfg_file = "def_NACA4412.cfg" naca4412_def.test_iter = 300 naca4412_def.test_vals = [3.26428e-15] #residual naca4412_def.su2_exec = "SU2_DEF" naca4412_def.timeout = 1600 naca4412_def.tol = 1e-15 pass_list.append(naca4412_def.run_def()) test_list.append(naca4412_def) # Brick of tets (inverse volume) brick_tets_def = TestCase('brick_tets_def') brick_tets_def.cfg_dir = "deformation/brick_tets" brick_tets_def.cfg_file = "def_brick_tets.cfg" brick_tets_def.test_iter = 50 brick_tets_def.test_vals = [7.34025e-15] #residual brick_tets_def.su2_exec = "SU2_DEF" brick_tets_def.timeout = 1600 brick_tets_def.tol = 1e-15 pass_list.append(brick_tets_def.run_def()) test_list.append(brick_tets_def) # Brick of isotropic hexas (inverse volume) brick_hex_def = TestCase('brick_hex_def') brick_hex_def.cfg_dir = "deformation/brick_hex" brick_hex_def.cfg_file = "def_brick_hex.cfg" brick_hex_def.test_iter = 50 brick_hex_def.test_vals = [1.55154e-15] #residual brick_hex_def.su2_exec = "SU2_DEF" brick_hex_def.timeout = 1600 brick_hex_def.tol = 1e-15 pass_list.append(brick_hex_def.run_def()) test_list.append(brick_hex_def) # Brick with a pyramid layer (inverse volume) brick_pyra_def = TestCase('brick_pyra_def') brick_pyra_def.cfg_dir = "deformation/brick_pyra" brick_pyra_def.cfg_file = "def_brick_pyra.cfg" brick_pyra_def.test_iter = 400 brick_pyra_def.test_vals = [3.79432e-15] #residual brick_pyra_def.su2_exec = "SU2_DEF" brick_pyra_def.timeout = 1600 brick_pyra_def.tol = 1e-15 pass_list.append(brick_pyra_def.run_def()) test_list.append(brick_pyra_def) # Brick of isotropic prisms (inverse volume) brick_prism_def = TestCase('brick_prism_def') brick_prism_def.cfg_dir = "deformation/brick_prism" brick_prism_def.cfg_file = "def_brick_prism.cfg" brick_prism_def.test_iter = 150 brick_prism_def.test_vals = [9.14366e-15] #residual brick_prism_def.su2_exec = "SU2_DEF" brick_prism_def.timeout = 1600 brick_prism_def.tol = 1e-15 pass_list.append(brick_prism_def.run_def()) test_list.append(brick_prism_def) # Brick of prisms with high aspect ratio cells near the wall (wall distance) brick_prism_rans_def = TestCase('brick_prism_rans_def') brick_prism_rans_def.cfg_dir = "deformation/brick_prism_rans" brick_prism_rans_def.cfg_file = "def_brick_prism_rans.cfg" brick_prism_rans_def.test_iter = 100 brick_prism_rans_def.test_vals = [1.64462e-15] #residual brick_prism_rans_def.su2_exec = "SU2_DEF" brick_prism_rans_def.timeout = 1600 brick_prism_rans_def.tol = 1e-15 pass_list.append(brick_prism_rans_def.run_def()) test_list.append(brick_prism_rans_def) # Brick of hexas with high aspect ratio cells near the wall (inverse volume) brick_hex_rans_def = TestCase('brick_hex_rans_def') brick_hex_rans_def.cfg_dir = "deformation/brick_hex_rans" brick_hex_rans_def.cfg_file = "def_brick_hex_rans.cfg" brick_hex_rans_def.test_iter = 50 brick_hex_rans_def.test_vals = [9.26657e-16] #residual brick_hex_rans_def.su2_exec = "SU2_DEF" brick_hex_rans_def.timeout = 1600 brick_hex_rans_def.tol = 1e-16 pass_list.append(brick_hex_rans_def.run_def()) test_list.append(brick_hex_rans_def) # Cylindrical FFD test cylinder_ffd_def = TestCase('cylinder_ffd_def') cylinder_ffd_def.cfg_dir = "deformation/cylindrical_ffd" cylinder_ffd_def.cfg_file = "def_cylindrical.cfg" cylinder_ffd_def.test_iter = 50 cylinder_ffd_def.test_vals = [1.30556e-10] #residual cylinder_ffd_def.su2_exec = "SU2_DEF" cylinder_ffd_def.timeout = 1600 cylinder_ffd_def.tol = 1e-16 pass_list.append(cylinder_ffd_def.run_def()) test_list.append(cylinder_ffd_def) # Spherical FFD test sphere_ffd_def = TestCase('sphere_ffd_def') sphere_ffd_def.cfg_dir = "deformation/spherical_ffd" sphere_ffd_def.cfg_file = "def_spherical.cfg" sphere_ffd_def.test_iter = 50 sphere_ffd_def.test_vals = [1.09326e-10] #residual sphere_ffd_def.su2_exec = "SU2_DEF" sphere_ffd_def.timeout = 1600 sphere_ffd_def.tol = 1e-16 pass_list.append(sphere_ffd_def.run_def()) test_list.append(sphere_ffd_def) # Spherical FFD test using BSplines sphere_ffd_def_bspline = TestCase('sphere_ffd_def_bspline') sphere_ffd_def_bspline.cfg_dir = "deformation/spherical_ffd" sphere_ffd_def_bspline.cfg_file = "def_spherical_bspline.cfg" sphere_ffd_def_bspline.test_iter = 50 sphere_ffd_def_bspline.test_vals = [6.69927e-11] #residual sphere_ffd_def_bspline.su2_exec = "SU2_DEF" sphere_ffd_def_bspline.timeout = 1600 sphere_ffd_def_bspline.tol = 1e-16 pass_list.append(sphere_ffd_def_bspline.run_def()) test_list.append(sphere_ffd_def_bspline) ###################################### ### RUN PYTHON TESTS ### ###################################### # test continuous_adjoint.py contadj_euler_py = TestCase('contadj_euler_py') contadj_euler_py.cfg_dir = "cont_adj_euler/naca0012" contadj_euler_py.cfg_file = "inv_NACA0012.cfg" contadj_euler_py.test_iter = 10 contadj_euler_py.su2_exec = "continuous_adjoint.py" contadj_euler_py.timeout = 1600 contadj_euler_py.reference_file = "of_grad_cd.dat.ref" contadj_euler_py.test_file = "of_grad_cd.dat" pass_list.append(contadj_euler_py.run_filediff()) test_list.append(contadj_euler_py) # test finite_difference.py findiff_euler_py = TestCase('findiff_euler_py') findiff_euler_py.cfg_dir = "cont_adj_euler/naca0012" findiff_euler_py.cfg_file = "inv_NACA0012_FD.cfg" findiff_euler_py.test_iter = 10 findiff_euler_py.su2_exec = "finite_differences.py" findiff_euler_py.timeout = 1600 findiff_euler_py.reference_file = "of_grad_findiff.dat.ref" findiff_euler_py.test_file = "FINDIFF/of_grad_findiff.dat" pass_list.append(findiff_euler_py.run_filediff()) test_list.append(findiff_euler_py) # test shape_optimization.py shape_opt_euler_py = TestCase('shape_opt_euler_py') shape_opt_euler_py.cfg_dir = "optimization_euler/steady_naca0012" shape_opt_euler_py.cfg_file = "inv_NACA0012_adv.cfg" shape_opt_euler_py.test_iter = 1 shape_opt_euler_py.test_vals = [1, 1, 2.134974E-05, 3.829535E-03] #last 4 columns shape_opt_euler_py.su2_exec = "shape_optimization.py -f" shape_opt_euler_py.timeout = 1600 shape_opt_euler_py.tol = 0.00001 pass_list.append(shape_opt_euler_py.run_opt()) test_list.append(shape_opt_euler_py) # test continuous_adjoint.py, with multiple objectives #contadj_multi_py = TestCase('contadj_multi_py') #contadj_multi_py.cfg_dir = "cont_adj_euler/wedge" #contadj_multi_py.cfg_file = "inv_wedge_ROE_multiobj.cfg" #contadj_multi_py.test_iter = 10 #contadj_multi_py.su2_exec = "continuous_adjoint.py" #contadj_multi_py.timeout = 1600 #contadj_multi_py.reference_file = "of_grad_combo.dat.ref" #contadj_multi_py.test_file = "of_grad_combo.dat" #pass_list.append(contadj_multi_py.run_filediff()) #test_list.append(contadj_multi_py) ########################## ### Python wrapper ### ########################## # NACA0012 pywrapper_naca0012 = TestCase('pywrapper_naca0012') pywrapper_naca0012.cfg_dir = "euler/naca0012" pywrapper_naca0012.cfg_file = "inv_NACA0012_Roe.cfg" pywrapper_naca0012.test_iter = 100 pywrapper_naca0012.test_vals = [-6.191618, -5.592802, 0.334809, 0.022197] #last 4 columns pywrapper_naca0012.su2_exec = "SU2_CFD.py -f" pywrapper_naca0012.timeout = 1600 pywrapper_naca0012.tol = 0.00001 test_list.append(pywrapper_naca0012) pass_list.append(pywrapper_naca0012.run_test()) # NACA0012 (SST, FUN3D results for finest grid: CL=1.0840, CD=0.01253) pywrapper_turb_naca0012_sst = TestCase('pywrapper_turb_naca0012_sst') pywrapper_turb_naca0012_sst.cfg_dir = "rans/naca0012" pywrapper_turb_naca0012_sst.cfg_file = "turb_NACA0012_sst.cfg" pywrapper_turb_naca0012_sst.test_iter = 10 pywrapper_turb_naca0012_sst.test_vals = [-15.039675, -7.219913, 1.059622, 0.019138] #last 4 columns pywrapper_turb_naca0012_sst.su2_exec = "SU2_CFD.py -f" pywrapper_turb_naca0012_sst.timeout = 3200 pywrapper_turb_naca0012_sst.tol = 0.00001 test_list.append(pywrapper_turb_naca0012_sst) pass_list.append(pywrapper_turb_naca0012_sst.run_test()) # Square cylinder pywrapper_square_cylinder = TestCase('pywrapper_square_cylinder') pywrapper_square_cylinder.cfg_dir = "unsteady/square_cylinder" pywrapper_square_cylinder.cfg_file = "turb_square.cfg" pywrapper_square_cylinder.test_iter = 3 pywrapper_square_cylinder.test_vals = [-1.166406,0.076804,1.398548,2.197047] #last 4 columns pywrapper_square_cylinder.su2_exec = "SU2_CFD.py -f" pywrapper_square_cylinder.timeout = 1600 pywrapper_square_cylinder.tol = 0.00001 pywrapper_square_cylinder.unsteady = True test_list.append(pywrapper_square_cylinder) pass_list.append(pywrapper_square_cylinder.run_test()) # Aeroelastic pywrapper_aeroelastic = TestCase('pywrapper_aeroelastic') pywrapper_aeroelastic.cfg_dir = "aeroelastic" pywrapper_aeroelastic.cfg_file = "aeroelastic_NACA64A010.cfg" pywrapper_aeroelastic.test_iter = 2 pywrapper_aeroelastic.test_vals = [0.077106, 0.036449, -1.684916e-03, -1.131735e-04] #last 4 columns pywrapper_aeroelastic.su2_exec = "SU2_CFD.py -f" pywrapper_aeroelastic.timeout = 1600 pywrapper_aeroelastic.tol = 0.000001 pywrapper_aeroelastic.unsteady = True test_list.append(pywrapper_aeroelastic) pass_list.append(pywrapper_aeroelastic.run_test()) # FSI, 2d pywrapper_fsi2d = TestCase('pywrapper_fsi2d') pywrapper_fsi2d.cfg_dir = "fea_fsi/WallChannel_2d" pywrapper_fsi2d.cfg_file = "configFSI_2D.cfg" pywrapper_fsi2d.test_iter = 4 pywrapper_fsi2d.test_vals = [2.000000, 0.500000, -7.777916, -1.139835] #last 4 columns pywrapper_fsi2d.su2_exec = "SU2_CFD.py --nZone 2 --fsi True -f" pywrapper_fsi2d.timeout = 1600 pywrapper_fsi2d.tol = 0.00001 test_list.append(pywrapper_fsi2d) pass_list.append(pywrapper_fsi2d.run_test()) # Tests summary print '==================================================================' print 'Summary of the serial tests' for i, test in enumerate(test_list): if (pass_list[i]): print ' passed - %s'%test.tag else: print '* FAILED - %s'%test.tag if all(pass_list): sys.exit(0) else: sys.exit(1)
def main(): '''This program runs SU^2 and ensures that the output matches specified values. This will be used to do nightly checks to make sure nothing is broken. ''' workdir = os.getcwd() # environment variables for SU2 os.environ['SU2_HOME'] = '/home/ale11/.cruise/projects/serial_regression/work/SU2' os.environ['SU2_RUN'] = '/home/ale11/.cruise/projects/serial_regression/work/SU2/bin' os.environ['PATH'] = os.environ['PATH'] + ':' + os.environ['SU2_RUN'] # sync SU2 repo os.chdir( os.environ['SU2_HOME'] ) os.system('git pull') # Build SU2_CFD in serial using autoconf os.system('./configure --prefix=$SU2_HOME CXXFLAGS="-O3"') os.system('make clean') os.system('make install') os.chdir(os.environ['SU2_RUN']) if not os.path.exists("./SU2_CFD"): print 'Could not build SU2_CFD' sys.exit(1) os.chdir(workdir) test_list = [] ########################## ### Compressible Euler ### ########################## # Channel channel = TestCase('channel') channel.cfg_dir = "euler/channel" channel.cfg_file = "inv_channel_RK.cfg" channel.test_iter = 100 channel.test_vals = [-2.489214,2.821231,0.008730,0.053947] channel.su2_exec = "SU2_CFD" channel.timeout = 1600 channel.tol = 0.00001 test_list.append(channel) # NACA0012 naca0012 = TestCase('naca0012') naca0012.cfg_dir = "euler/naca0012" naca0012.cfg_file = "inv_NACA0012_Roe.cfg" naca0012.test_iter = 100 naca0012.test_vals = [-6.203359,-5.582393,0.334818,0.022197] naca0012.su2_exec = "SU2_CFD" naca0012.timeout = 1600 naca0012.tol = 0.00001 test_list.append(naca0012) # Supersonic wedge wedge = TestCase('wedge') wedge.cfg_dir = "euler/wedge" wedge.cfg_file = "inv_wedge_HLLC.cfg" wedge.test_iter = 100 wedge.test_vals = [-2.703316,3.192215,-0.252410,0.044446] wedge.su2_exec = "SU2_CFD" wedge.timeout = 1600 wedge.tol = 0.00001 test_list.append(wedge) # ONERA M6 Wing oneram6 = TestCase('oneram6') oneram6.cfg_dir = "euler/oneram6" oneram6.cfg_file = "inv_ONERAM6_JST.cfg" oneram6.test_iter = 10 oneram6.test_vals = [-4.830417,-4.273125,0.290066,0.015809] oneram6.su2_exec = "SU2_CFD" oneram6.timeout = 9600 oneram6.tol = 0.00001 test_list.append(oneram6) ########################## ### Compressible N-S ### ########################## # Laminar flat plate flatplate = TestCase('flatplate') flatplate.cfg_dir = "navierstokes/flatplate" flatplate.cfg_file = "lam_flatplate.cfg" flatplate.test_iter = 100 flatplate.test_vals = [-5.227537,0.267007,-0.167233,0.012854] flatplate.su2_exec = "SU2_CFD" flatplate.timeout = 1600 flatplate.tol = 0.00001 test_list.append(flatplate) # Laminar cylinder (steady) cylinder = TestCase('cylinder') cylinder.cfg_dir = "navierstokes/cylinder" cylinder.cfg_file = "lam_cylinder.cfg" cylinder.test_iter = 25 cylinder.test_vals = [-6.764866,-1.296840,-0.024986,0.974669] cylinder.su2_exec = "SU2_CFD" cylinder.timeout = 1600 cylinder.tol = 0.00001 test_list.append(cylinder) ########################## ### Compressible RANS ### ########################## # RAE2822 SA rae2822_sa = TestCase('rae2822_sa') rae2822_sa.cfg_dir = "rans/rae2822" rae2822_sa.cfg_file = "turb_SA_RAE2822.cfg" rae2822_sa.test_iter = 100 rae2822_sa.test_vals = [-3.542705,-5.430675,0.884353,0.024153] #last 4 columns rae2822_sa.su2_exec = "SU2_CFD" rae2822_sa.timeout = 1600 rae2822_sa.tol = 0.00001 test_list.append(rae2822_sa) # RAE2822 SST rae2822_sst = TestCase('rae2822_sst') rae2822_sst.cfg_dir = "rans/rae2822" rae2822_sst.cfg_file = "turb_SST_RAE2822.cfg" rae2822_sst.test_iter = 100 rae2822_sst.test_vals = [-1.214015,4.020029,0.884881,0.024141] #last 4 columns rae2822_sst.su2_exec = "SU2_CFD" rae2822_sst.timeout = 1600 rae2822_sst.tol = 0.00001 test_list.append(rae2822_sst) # Flat plate turb_flatplate = TestCase('turb_flatplate') turb_flatplate.cfg_dir = "rans/flatplate" turb_flatplate.cfg_file = "turb_SA_flatplate.cfg" turb_flatplate.test_iter = 100 turb_flatplate.test_vals = [-5.068405,-7.340795,-0.187223,0.010395] #last 4 columns turb_flatplate.su2_exec = "SU2_CFD" turb_flatplate.timeout = 1600 turb_flatplate.tol = 0.00001 test_list.append(turb_flatplate) # ONERA M6 Wing turb_oneram6 = TestCase('turb_oneram6') turb_oneram6.cfg_dir = "rans/oneram6" turb_oneram6.cfg_file = "turb_ONERAM6.cfg" turb_oneram6.test_iter = 10 turb_oneram6.test_vals = [-2.327517,-6.563378,0.230436,0.155816]#last 4 columns turb_oneram6.su2_exec = "SU2_CFD" turb_oneram6.timeout = 3200 turb_oneram6.tol = 0.00001 test_list.append(turb_oneram6) # NACA0012 turb_naca0012 = TestCase('turb_naca0012') turb_naca0012.cfg_dir = "rans/naca0012" turb_naca0012.cfg_file = "turb_NACA0012.cfg" turb_naca0012.test_iter = 20 turb_naca0012.test_vals = [-2.826334,-7.364207,-0.000025,0.803037] #last 4 columns turb_naca0012.su2_exec = "SU2_CFD" turb_naca0012.timeout = 3200 turb_naca0012.tol = 0.00001 test_list.append(turb_naca0012) ############################ ### Incompressible RANS ### ############################ # NACA0012 inc_turb_naca0012 = TestCase('inc_turb_naca0012') inc_turb_naca0012.cfg_dir = "incomp_rans/naca0012" inc_turb_naca0012.cfg_file = "naca0012.cfg" inc_turb_naca0012.test_iter = 20 inc_turb_naca0012.test_vals = [-4.709986,-11.007545,0.000008,0.210347] #last 4 columns inc_turb_naca0012.su2_exec = "SU2_CFD" inc_turb_naca0012.timeout = 1600 inc_turb_naca0012.tol = 0.00001 test_list.append(inc_turb_naca0012) ##################################### ### Cont. adj. compressible Euler ### ##################################### # Inviscid NACA0012 contadj_naca0012 = TestCase('contadj_naca0012') contadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" contadj_naca0012.cfg_file = "inv_NACA0012.cfg" contadj_naca0012.test_iter = 5 contadj_naca0012.test_vals = [-12.206764,-16.000000,0.005483,0.536870] #last 4 columns contadj_naca0012.su2_exec = "SU2_CFD" contadj_naca0012.timeout = 1600 contadj_naca0012.tol = 0.00001 test_list.append(contadj_naca0012) # Inviscid ONERA M6 contadj_oneram6 = TestCase('contadj_oneram6') contadj_oneram6.cfg_dir = "cont_adj_euler/oneram6" contadj_oneram6.cfg_file = "inv_ONERAM6.cfg" contadj_oneram6.test_iter = 5 contadj_oneram6.test_vals = [-6.353629,-6.525887,-0.000023,0.147720] #last 4 columns contadj_oneram6.su2_exec = "SU2_CFD" contadj_oneram6.timeout = 1600 contadj_oneram6.tol = 0.00001 test_list.append(contadj_oneram6) ################################### ### Cont. adj. compressible N-S ### ################################### # Adjoint laminar cylinder contadj_ns_cylinder = TestCase('contadj_ns_cylinder') contadj_ns_cylinder.cfg_dir = "cont_adj_navierstokes/cylinder" contadj_ns_cylinder.cfg_file = "lam_cylinder.cfg" contadj_ns_cylinder.test_iter = 100 contadj_ns_cylinder.test_vals = [-0.599698,-6.065249,-0.032305,25.115000] #last 4 columns contadj_ns_cylinder.su2_exec = "SU2_CFD" contadj_ns_cylinder.timeout = 1600 contadj_ns_cylinder.tol = 0.00001 test_list.append(contadj_ns_cylinder) # Adjoint laminar naca0012 subsonic contadj_ns_naca0012_sub = TestCase('contadj_ns_naca0012_sub') contadj_ns_naca0012_sub.cfg_dir = "cont_adj_navierstokes/naca0012_sub" contadj_ns_naca0012_sub.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_sub.test_iter = 100 contadj_ns_naca0012_sub.test_vals = [-4.234330,-9.705736,0.005161,0.398940 ] #last 4 columns contadj_ns_naca0012_sub.su2_exec = "SU2_CFD" contadj_ns_naca0012_sub.timeout = 1600 contadj_ns_naca0012_sub.tol = 0.00001 test_list.append(contadj_ns_naca0012_sub) # Adjoint laminar naca0012 transonic contadj_ns_naca0012_trans = TestCase('contadj_ns_naca0012_trans') contadj_ns_naca0012_trans.cfg_dir = "cont_adj_navierstokes/naca0012_trans" contadj_ns_naca0012_trans.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_trans.test_iter = 100 contadj_ns_naca0012_trans.test_vals = [-1.810435,-6.920519,0.014614,1.020100] #last 4 columns contadj_ns_naca0012_trans.su2_exec = "SU2_CFD" contadj_ns_naca0012_trans.timeout = 1600 contadj_ns_naca0012_trans.tol = 0.00001 test_list.append(contadj_ns_naca0012_trans) ####################################################### ### Cont. adj. compressible RANS (frozen viscosity) ### ####################################################### # Adjoint turbulent NACA0012 contadj_rans_naca0012 = TestCase('contadj_rans_naca0012') contadj_rans_naca0012.cfg_dir = "cont_adj_rans/naca0012" contadj_rans_naca0012.cfg_file = "turb_nasa.cfg" contadj_rans_naca0012.test_iter = 100 contadj_rans_naca0012.test_vals = [-4.351102,-8.919996,-1.275200,-2.541400] #last 4 columns contadj_rans_naca0012.su2_exec = "SU2_CFD" contadj_rans_naca0012.timeout = 1600 contadj_rans_naca0012.tol = 0.00001 test_list.append(contadj_rans_naca0012) # Adjoint turbulent RAE2822 contadj_rans_rae2822 = TestCase('contadj_rans_rae2822') contadj_rans_rae2822.cfg_dir = "cont_adj_rans/rae2822" contadj_rans_rae2822.cfg_file = "turb_SA_RAE2822.cfg" contadj_rans_rae2822.test_iter = 100 contadj_rans_rae2822.test_vals = [-2.870304,-8.350308,4.5270e+00,3.5527e-01] #last 4 columns contadj_rans_rae2822.su2_exec = "SU2_CFD" contadj_rans_rae2822.timeout = 1600 contadj_rans_rae2822.tol = 0.00001 test_list.append(contadj_rans_rae2822) ####################################### ### Cont. adj. incompressible Euler ### ####################################### # Adjoint Incompressible Inviscid NACA0012 contadj_incomp_NACA0012 = TestCase('contadj_incomp_NACA0012') contadj_incomp_NACA0012.cfg_dir = "cont_adj_incomp_euler/naca0012" contadj_incomp_NACA0012.cfg_file = "incomp_NACA0012.cfg" contadj_incomp_NACA0012.test_iter = 140 contadj_incomp_NACA0012.test_vals = [-7.551025,-7.377690,0.010910,0.000000] #last 4 columns contadj_incomp_NACA0012.su2_exec = "SU2_CFD" contadj_incomp_NACA0012.timeout = 1600 contadj_incomp_NACA0012.tol = 0.00001 test_list.append(contadj_incomp_NACA0012) ##################################### ### Cont. adj. incompressible N-S ### ##################################### # Adjoint Incompressible Viscous Cylinder contadj_incomp_cylinder = TestCase('contadj_incomp_cylinder') contadj_incomp_cylinder.cfg_dir = "cont_adj_incomp_navierstokes/cylinder" contadj_incomp_cylinder.cfg_file = "lam_incomp_cylinder.cfg" contadj_incomp_cylinder.test_iter = 25 contadj_incomp_cylinder.test_vals = [-2.423636,-2.916834,-0.048414,0.000000] #last 4 columns contadj_incomp_cylinder.su2_exec = "SU2_CFD" contadj_incomp_cylinder.timeout = 1600 contadj_incomp_cylinder.tol = 0.00001 test_list.append(contadj_incomp_cylinder) ###################################### ### Thermochemical Nonequilibrium ### ###################################### ramc = TestCase('ramc') ramc.cfg_dir = "tne2/ramc" ramc.cfg_file = "ramc61km.cfg" ramc.test_iter = 25 ramc.test_vals = [-4.638119,2.854417,-4.439628,0.000188] ramc.su2_exec = "SU2_CFD" ramc.timeout = 1600 ramc.tol = 0.00001 test_list.append(ramc) # ###################################### # ### Spectral Method ### # ###################################### # spectral = TestCase('spectral') # spectral.cfg_dir = "spectral_method" # spectral.cfg_file = "spectral.cfg" # spectral.test_iter = 25 # spectral.test_vals = [-1.621870,3.852164,0.007465,0.084358] # spectral.su2_exec = "SU2_CFD" # spectral.timeout = 1600 # spectral.tol = 0.00001 # test_list.append(spectral) ###################################### ### Moving Wall ### ###################################### # Lid-driven cavity cavity = TestCase('cavity') cavity.cfg_dir = "moving_wall/cavity" cavity.cfg_file = "lam_cavity.cfg" cavity.test_iter = 25 cavity.test_vals = [-5.940515,-0.480469,0.018068,-3.926360] cavity.su2_exec = "SU2_CFD" cavity.timeout = 1600 cavity.tol = 0.00001 test_list.append(cavity) # Spinning cylinder spinning_cylinder = TestCase('spinning_cylinder') spinning_cylinder.cfg_dir = "moving_wall/spinning_cylinder" spinning_cylinder.cfg_file = "spinning_cylinder.cfg" spinning_cylinder.test_iter = 25 spinning_cylinder.test_vals = [-6.744370,-1.298814,8.697757,0.133608] spinning_cylinder.su2_exec = "SU2_CFD" spinning_cylinder.timeout = 1600 spinning_cylinder.tol = 0.00001 test_list.append(spinning_cylinder) ###################################### ### Unsteady ### ###################################### # Square cylinder square_cylinder = TestCase('square_cylinder') square_cylinder.cfg_dir = "unsteady/square_cylinder" square_cylinder.cfg_file = "turb_square.cfg" square_cylinder.test_iter = 3 square_cylinder.test_vals = [-1.542160,0.048661,1.398952,2.196894 ] square_cylinder.su2_exec = "SU2_CFD" square_cylinder.timeout = 1600 square_cylinder.tol = 0.00001 test_list.append(square_cylinder) ###################################### ### RUN TESTS ### ###################################### pass_list = [ test.run_test() for test in test_list ] if all(pass_list): sys.exit(0) else: sys.exit(1)
def main(): '''This program runs SU^2 and ensures that the output matches specified values. This will be used to do nightly checks to make sure nothing is broken. ''' workdir = os.getcwd() # environment variables for SU2 os.environ['SU2_HOME'] = '/home/ale11/.cruise/projects/parallel_regression/work/SU2' os.environ['SU2_RUN'] = '/home/ale11/.cruise/projects/parallel_regression/work/SU2/bin' os.environ['PATH'] = os.environ['PATH'] + ':' + os.environ['SU2_RUN'] # sync SU2 repo os.chdir( os.environ['SU2_HOME'] ) os.system('git fetch') os.system('git checkout develop') os.system('git pull origin develop') # Build SU2_CFD in parallel using autoconf os.system('./configure --prefix=$SU2_HOME --with-MPI=mpicxx CXXFLAGS="-O3"') os.system('make clean') os.system('make install') os.chdir(os.environ['SU2_RUN']) if not os.path.exists("./SU2_CFD"): print 'Could not build SU2_CFD' sys.exit(1) if not os.path.exists("./SU2_PRT"): print 'Could not build SU2_PRT' sys.exit(1) os.chdir(workdir) test_list = [] ########################## ### Compressible Euler ### ########################## # Channel channel = TestCase('channel') channel.cfg_dir = "euler/channel" channel.cfg_file = "inv_channel_RK.cfg" channel.test_iter = 100 channel.test_vals = [-3.007706, 2.358555, 0.008379, 0.028547] channel.su2_exec = "parallel_computation.py -f" channel.timeout = 1600 channel.tol = 0.00001 test_list.append(channel) # NACA0012 naca0012 = TestCase('naca0012') naca0012.cfg_dir = "euler/naca0012" naca0012.cfg_file = "inv_NACA0012_Roe.cfg" naca0012.test_iter = 100 naca0012.test_vals = [-6.157022, -5.537399, 0.334831, 0.022209] naca0012.su2_exec = "parallel_computation.py -f" naca0012.timeout = 1600 naca0012.tol = 0.00001 test_list.append(naca0012) # Supersonic wedge wedge = TestCase('wedge') wedge.cfg_dir = "euler/wedge" wedge.cfg_file = "inv_wedge_HLLC.cfg" wedge.test_iter = 100 wedge.test_vals = [-1.647184, 3.989725, -0.251604, 0.044317] wedge.su2_exec = "parallel_computation.py -f" wedge.timeout = 1600 wedge.tol = 0.00001 test_list.append(wedge) # ONERA M6 Wing oneram6 = TestCase('oneram6') oneram6.cfg_dir = "euler/oneram6" oneram6.cfg_file = "inv_ONERAM6_JST.cfg" oneram6.test_iter = 10 oneram6.test_vals = [-4.707461, -4.138449, 0.269324, 0.018891] oneram6.su2_exec = "parallel_computation.py -f" oneram6.timeout = 3200 oneram6.tol = 0.00001 test_list.append(oneram6) ########################## ### Compressible N-S ### ########################## # Laminar flat plate flatplate = TestCase('flatplate') flatplate.cfg_dir = "navierstokes/flatplate" flatplate.cfg_file = "lam_flatplate.cfg" flatplate.test_iter = 100 flatplate.test_vals = [-5.232930, 0.260877, -0.166066, 0.013093] flatplate.su2_exec = "parallel_computation.py -f" flatplate.timeout = 1600 flatplate.tol = 0.00001 test_list.append(flatplate) # Laminar cylinder (steady) cylinder = TestCase('cylinder') cylinder.cfg_dir = "navierstokes/cylinder" cylinder.cfg_file = "lam_cylinder.cfg" cylinder.test_iter = 25 cylinder.test_vals = [-6.759579, -1.292062, 0.047262, 0.139916] cylinder.su2_exec = "parallel_computation.py -f" cylinder.timeout = 1600 cylinder.tol = 0.00001 test_list.append(cylinder) ########################## ### Compressible RANS ### ########################## # RAE2822 SA rae2822_sa = TestCase('rae2822_sa') rae2822_sa.cfg_dir = "rans/rae2822" rae2822_sa.cfg_file = "turb_SA_RAE2822.cfg" rae2822_sa.test_iter = 100 rae2822_sa.test_vals = [-3.454436, -5.440827, 0.892572, 0.024842] #last 4 columns rae2822_sa.su2_exec = "parallel_computation.py -f" rae2822_sa.timeout = 1600 rae2822_sa.tol = 0.00001 test_list.append(rae2822_sa) # RAE2822 SST rae2822_sst = TestCase('rae2822_sst') rae2822_sst.cfg_dir = "rans/rae2822" rae2822_sst.cfg_file = "turb_SST_RAE2822.cfg" rae2822_sst.test_iter = 100 rae2822_sst.test_vals = [-1.178534, 4.029258, 0.894386, 0.024992] #last 4 columns rae2822_sst.su2_exec = "parallel_computation.py -f" rae2822_sst.timeout = 1600 rae2822_sst.tol = 0.00001 test_list.append(rae2822_sst) # Flat plate turb_flatplate = TestCase('turb_flatplate') turb_flatplate.cfg_dir = "rans/flatplate" turb_flatplate.cfg_file = "turb_SA_flatplate.cfg" turb_flatplate.test_iter = 100 turb_flatplate.test_vals = [-5.057092, -7.373256, -0.187140, 0.011347] #last 4 columns turb_flatplate.su2_exec = "parallel_computation.py -f" turb_flatplate.timeout = 1600 turb_flatplate.tol = 0.00001 test_list.append(turb_flatplate) # ONERA M6 Wing turb_oneram6 = TestCase('turb_oneram6') turb_oneram6.cfg_dir = "rans/oneram6" turb_oneram6.cfg_file = "turb_ONERAM6.cfg" turb_oneram6.test_iter = 10 turb_oneram6.test_vals = [-2.327515, -6.563376, 0.230436, 0.155816] #last 4 columns turb_oneram6.su2_exec = "parallel_computation.py -f" turb_oneram6.timeout = 3200 turb_oneram6.tol = 0.00001 test_list.append(turb_oneram6) # NACA0012 turb_naca0012 = TestCase('turb_naca0012') turb_naca0012.cfg_dir = "rans/naca0012" turb_naca0012.cfg_file = "turb_NACA0012.cfg" turb_naca0012.test_iter = 20 turb_naca0012.test_vals = [-2.826376, -7.364213, -0.000093, 0.803146] #last 4 columns turb_naca0012.su2_exec = "parallel_computation.py -f" turb_naca0012.timeout = 3200 turb_naca0012.tol = 0.00001 test_list.append(turb_naca0012) ############################ ### Incompressible RANS ### ############################ # NACA0012 inc_turb_naca0012 = TestCase('inc_turb_naca0012') inc_turb_naca0012.cfg_dir = "incomp_rans/naca0012" inc_turb_naca0012.cfg_file = "naca0012.cfg" inc_turb_naca0012.test_iter = 20 inc_turb_naca0012.test_vals = [-4.709973, -11.007322, -0.000001, 0.211093] #last 4 columns inc_turb_naca0012.su2_exec = "parallel_computation.py -f" inc_turb_naca0012.timeout = 1600 inc_turb_naca0012.tol = 0.00001 test_list.append(inc_turb_naca0012) ##################################### ### Cont. adj. compressible Euler ### ##################################### # Inviscid NACA0012 contadj_naca0012 = TestCase('contadj_naca0012') contadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" contadj_naca0012.cfg_file = "inv_NACA0012.cfg" contadj_naca0012.test_iter = 5 contadj_naca0012.test_vals = [-12.122156, -17.630206, 0.300920, 0.536870] #last 4 columns contadj_naca0012.su2_exec = "parallel_computation.py -f" contadj_naca0012.timeout = 1600 contadj_naca0012.tol = 0.00001 test_list.append(contadj_naca0012) # Inviscid ONERA M6 contadj_oneram6 = TestCase('contadj_oneram6') contadj_oneram6.cfg_dir = "cont_adj_euler/oneram6" contadj_oneram6.cfg_file = "inv_ONERAM6.cfg" contadj_oneram6.test_iter = 5 contadj_oneram6.test_vals = [-6.354703, -6.527803, -0.133910, 0.147720] #last 4 columns contadj_oneram6.su2_exec = "parallel_computation.py -f" contadj_oneram6.timeout = 1600 contadj_oneram6.tol = 0.00001 test_list.append(contadj_oneram6) ################################### ### Cont. adj. compressible N-S ### ################################### # Adjoint laminar cylinder contadj_ns_cylinder = TestCase('contadj_ns_cylinder') contadj_ns_cylinder.cfg_dir = "cont_adj_navierstokes/cylinder" contadj_ns_cylinder.cfg_file = "lam_cylinder.cfg" contadj_ns_cylinder.test_iter = 100 contadj_ns_cylinder.test_vals = [-0.585239, -6.048475, -2.056900, 25.115000] #last 4 columns contadj_ns_cylinder.su2_exec = "parallel_computation.py -f" contadj_ns_cylinder.timeout = 1600 contadj_ns_cylinder.tol = 0.00001 test_list.append(contadj_ns_cylinder) # Adjoint laminar naca0012 subsonic contadj_ns_naca0012_sub = TestCase('contadj_ns_naca0012_sub') contadj_ns_naca0012_sub.cfg_dir = "cont_adj_navierstokes/naca0012_sub" contadj_ns_naca0012_sub.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_sub.test_iter = 100 contadj_ns_naca0012_sub.test_vals = [-4.234330, -9.705735, 0.516750, 0.398940] #last 4 columns contadj_ns_naca0012_sub.su2_exec = "parallel_computation.py -f" contadj_ns_naca0012_sub.timeout = 1600 contadj_ns_naca0012_sub.tol = 0.00001 test_list.append(contadj_ns_naca0012_sub) # Adjoint laminar naca0012 transonic contadj_ns_naca0012_trans = TestCase('contadj_ns_naca0012_trans') contadj_ns_naca0012_trans.cfg_dir = "cont_adj_navierstokes/naca0012_trans" contadj_ns_naca0012_trans.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_trans.test_iter = 100 contadj_ns_naca0012_trans.test_vals = [-1.810435, -6.920519, 1.756200, 1.020100] #last 4 columns contadj_ns_naca0012_trans.su2_exec = "parallel_computation.py -f" contadj_ns_naca0012_trans.timeout = 1600 contadj_ns_naca0012_trans.tol = 0.00001 test_list.append(contadj_ns_naca0012_trans) ####################################################### ### Cont. adj. compressible RANS (frozen viscosity) ### ####################################################### # Adjoint turbulent NACA0012 contadj_rans_naca0012 = TestCase('contadj_rans_naca0012') contadj_rans_naca0012.cfg_dir = "cont_adj_rans/naca0012" contadj_rans_naca0012.cfg_file = "turb_nasa.cfg" contadj_rans_naca0012.test_iter = 100 contadj_rans_naca0012.test_vals = [-4.351102, -8.919996, -72.511000, -2.541400] #last 4 columns contadj_rans_naca0012.su2_exec = "parallel_computation.py -f" contadj_rans_naca0012.timeout = 1600 contadj_rans_naca0012.tol = 0.00001 test_list.append(contadj_rans_naca0012) # Adjoint turbulent RAE2822 contadj_rans_rae2822 = TestCase('contadj_rans_rae822') contadj_rans_rae2822.cfg_dir = "cont_adj_rans/rae2822" contadj_rans_rae2822.cfg_file = "turb_SA_RAE2822.cfg" contadj_rans_rae2822.test_iter = 100 contadj_rans_rae2822.test_vals = [-2.903360, -8.331847, 354.020000, 0.128700] #last 4 columns contadj_rans_rae2822.su2_exec = "parallel_computation.py -f" contadj_rans_rae2822.timeout = 1600 contadj_rans_rae2822.tol = 0.00001 test_list.append(contadj_rans_rae2822) ####################################### ### Cont. adj. incompressible Euler ### ####################################### # Adjoint Incompressible Inviscid NACA0012 contadj_incomp_NACA0012 = TestCase('contadj_incomp_NACA0012') contadj_incomp_NACA0012.cfg_dir = "cont_adj_incomp_euler/naca0012" contadj_incomp_NACA0012.cfg_file = "incomp_NACA0012.cfg" contadj_incomp_NACA0012.test_iter = 140 contadj_incomp_NACA0012.test_vals = [-7.275605, -7.111247, 1.892600, 0.000000] #last 4 columns contadj_incomp_NACA0012.su2_exec = "parallel_computation.py -f" contadj_incomp_NACA0012.timeout = 1600 contadj_incomp_NACA0012.tol = 0.00001 test_list.append(contadj_incomp_NACA0012) ##################################### ### Cont. adj. incompressible N-S ### ##################################### # Adjoint Incompressible Viscous Cylinder contadj_incomp_cylinder = TestCase('contadj_incomp_cylinder') contadj_incomp_cylinder.cfg_dir = "cont_adj_incomp_navierstokes/cylinder" contadj_incomp_cylinder.cfg_file = "lam_incomp_cylinder.cfg" contadj_incomp_cylinder.test_iter = 25 contadj_incomp_cylinder.test_vals = [-2.471344, -2.947390, -3.086500, 0.000000] #last 4 columns contadj_incomp_cylinder.su2_exec = "parallel_computation.py -f" contadj_incomp_cylinder.timeout = 1600 contadj_incomp_cylinder.tol = 0.00001 test_list.append(contadj_incomp_cylinder) ###################################### ### Thermochemical Nonequilibrium ### ###################################### # RAM-C II Sphere-Cone -- 61km Altitude ramc = TestCase('ramc') ramc.cfg_dir = "tne2/ramc" ramc.cfg_file = "ramc61km.cfg" ramc.test_iter = 25 ramc.test_vals = [-4.638119, 2.854417, -4.439628, 0.000188] ramc.su2_exec = "parallel_computation.py -f" ramc.timeout = 1600 ramc.tol = 0.00001 test_list.append(ramc) ###################################### ### Moving Wall ### ###################################### # Lid-driven cavity cavity = TestCase('cavity') cavity.cfg_dir = "moving_wall/cavity" cavity.cfg_file = "lam_cavity.cfg" cavity.test_iter = 25 cavity.test_vals = [-5.569056, -0.103736, 0.465430, 0.399409] cavity.su2_exec = "parallel_computation.py -f" cavity.timeout = 1600 cavity.tol = 0.00001 test_list.append(cavity) # Spinning cylinder spinning_cylinder = TestCase('spinning_cylinder') spinning_cylinder.cfg_dir = "moving_wall/spinning_cylinder" spinning_cylinder.cfg_file = "spinning_cylinder.cfg" spinning_cylinder.test_iter = 25 spinning_cylinder.test_vals = [-6.601720, -1.146034, 8.586054, 0.271493] spinning_cylinder.su2_exec = "parallel_computation.py -f" spinning_cylinder.timeout = 1600 spinning_cylinder.tol = 0.00001 test_list.append(spinning_cylinder) ###################################### ### Unsteady ### ###################################### # Square cylinder square_cylinder = TestCase('square_cylinder') square_cylinder.cfg_dir = "unsteady/square_cylinder" square_cylinder.cfg_file = "turb_square.cfg" square_cylinder.test_iter = 3 square_cylinder.test_vals = [-1.542156, 0.048663, 1.398952, 2.196894] square_cylinder.su2_exec = "parallel_computation.py -f" square_cylinder.timeout = 1600 square_cylinder.tol = 0.00001 test_list.append(square_cylinder) ###################################### ### RUN TESTS ### ###################################### pass_list = [ test.run_test() for test in test_list ] if all(pass_list): sys.exit(0) else: sys.exit(1)
def testSetUpException(self): self.test = TestCase("setUp") self.test.run(self.result) assert "1 run, 1 failed" == self.result.summary()
def main(): '''This program runs SU2 and ensures that the output matches specified values. This will be used to do nightly checks to make sure nothing is broken. ''' workdir = os.getcwd() # environment variables for SU2 os.environ['TEST_HOME'] = '/home/ale11/.cruise/projects/parallel_regression/work' os.environ['SU2_HOME'] = '/home/ale11/.cruise/projects/parallel_regression/work/SU2' os.environ['SU2_RUN'] = '/home/ale11/.cruise/projects/parallel_regression/work/SU2/bin' os.environ['PATH'] = os.environ['PATH'] + ':' + os.environ['SU2_RUN'] # sync Test Cases repo os.chdir( os.environ['TEST_HOME'] ) os.system('git fetch') os.system('git checkout develop') os.system('git pull origin develop') # sync SU2 repo os.chdir( os.environ['SU2_HOME'] ) os.system('git fetch') os.system('git checkout develop') os.system('git pull origin develop') # Build SU2_CFD in parallel using autoconf os.system('./configure --prefix=$SU2_HOME --enable-mpi --with-cc=`which mpicc` --with-cxx=`which mpicxx` CXXFLAGS="-O3"') os.system('make clean') os.system('make install') os.chdir(os.environ['SU2_RUN']) if not os.path.exists("./SU2_CFD"): print 'Could not build SU2_CFD' sys.exit(1) if not os.path.exists("./SU2_PRT"): print 'Could not build SU2_PRT' sys.exit(1) os.chdir(workdir) test_list = [] ########################## ### Compressible Euler ### ########################## # Channel channel = TestCase('channel') channel.cfg_dir = "euler/channel" channel.cfg_file = "inv_channel_RK.cfg" channel.test_iter = 100 channel.test_vals = [-2.984481, 2.389875, 0.008865, 0.027854] #last 4 columns channel.su2_exec = "parallel_computation.py -f" channel.timeout = 1600 channel.tol = 0.00001 test_list.append(channel) # NACA0012 naca0012 = TestCase('naca0012') naca0012.cfg_dir = "euler/naca0012" naca0012.cfg_file = "inv_NACA0012_Roe.cfg" naca0012.test_iter = 100 naca0012.test_vals = [-6.237188, -5.641250, 0.334843, 0.022206] #last 4 columns naca0012.su2_exec = "parallel_computation.py -f" naca0012.timeout = 1600 naca0012.tol = 0.00001 test_list.append(naca0012) # Supersonic wedge wedge = TestCase('wedge') wedge.cfg_dir = "euler/wedge" wedge.cfg_file = "inv_wedge_HLLC.cfg" wedge.test_iter = 100 wedge.test_vals = [-1.702502, 3.923373, -0.252116, 0.044396] #last 4 columns wedge.su2_exec = "parallel_computation.py -f" wedge.timeout = 1600 wedge.tol = 0.00001 test_list.append(wedge) # ONERA M6 Wing oneram6 = TestCase('oneram6') oneram6.cfg_dir = "euler/oneram6" oneram6.cfg_file = "inv_ONERAM6_JST.cfg" oneram6.test_iter = 10 oneram6.test_vals = [-4.701280, -4.154921, 0.270257, 0.019095] #last 4 columns oneram6.su2_exec = "parallel_computation.py -f" oneram6.timeout = 3200 oneram6.tol = 0.00001 test_list.append(oneram6) ########################## ### Compressible N-S ### ########################## # Laminar flat plate flatplate = TestCase('flatplate') flatplate.cfg_dir = "navierstokes/flatplate" flatplate.cfg_file = "lam_flatplate.cfg" flatplate.test_iter = 100 flatplate.test_vals = [-5.233923, 0.259801, -0.166790, 0.012722] #last 4 columns flatplate.su2_exec = "parallel_computation.py -f" flatplate.timeout = 1600 flatplate.tol = 0.00001 test_list.append(flatplate) # Laminar cylinder (steady) cylinder = TestCase('cylinder') cylinder.cfg_dir = "navierstokes/cylinder" cylinder.cfg_file = "lam_cylinder.cfg" cylinder.test_iter = 25 cylinder.test_vals = [-6.757291, -1.289309, -0.125948, 0.625438] #last 4 columns cylinder.su2_exec = "parallel_computation.py -f" cylinder.timeout = 1600 cylinder.tol = 0.00001 test_list.append(cylinder) ########################## ### Compressible RANS ### ########################## # RAE2822 SA rae2822_sa = TestCase('rae2822_sa') rae2822_sa.cfg_dir = "rans/rae2822" rae2822_sa.cfg_file = "turb_SA_RAE2822.cfg" rae2822_sa.test_iter = 100 rae2822_sa.test_vals = [-3.637762, -5.450251, 0.890401, 0.025056] #last 4 columns rae2822_sa.su2_exec = "parallel_computation.py -f" rae2822_sa.timeout = 1600 rae2822_sa.tol = 0.00001 test_list.append(rae2822_sa) # RAE2822 SST rae2822_sst = TestCase('rae2822_sst') rae2822_sst.cfg_dir = "rans/rae2822" rae2822_sst.cfg_file = "turb_SST_RAE2822.cfg" rae2822_sst.test_iter = 100 rae2822_sst.test_vals = [-1.217020, 4.023774, 0.892665, 0.025209] #last 4 columns rae2822_sst.su2_exec = "parallel_computation.py -f" rae2822_sst.timeout = 1600 rae2822_sst.tol = 0.00001 test_list.append(rae2822_sst) # Flat plate turb_flatplate = TestCase('turb_flatplate') turb_flatplate.cfg_dir = "rans/flatplate" turb_flatplate.cfg_file = "turb_SA_flatplate.cfg" turb_flatplate.test_iter = 100 turb_flatplate.test_vals = [-5.061518, -7.362119, -0.187139, 0.011230] #last 4 columns turb_flatplate.su2_exec = "parallel_computation.py -f" turb_flatplate.timeout = 1600 turb_flatplate.tol = 0.00001 test_list.append(turb_flatplate) # ONERA M6 Wing turb_oneram6 = TestCase('turb_oneram6') turb_oneram6.cfg_dir = "rans/oneram6" turb_oneram6.cfg_file = "turb_ONERAM6.cfg" turb_oneram6.test_iter = 10 turb_oneram6.test_vals = [-2.327508, -6.563372, 0.230438, 0.155815] #last 4 columns turb_oneram6.su2_exec = "parallel_computation.py -f" turb_oneram6.timeout = 3200 turb_oneram6.tol = 0.00001 test_list.append(turb_oneram6) # NACA0012 (SA, FUN3D results: CL=1.0983, CD=0.01242) turb_naca0012_sa = TestCase('turb_naca0012_sa') turb_naca0012_sa.cfg_dir = "rans/naca0012" turb_naca0012_sa.cfg_file = "turb_NACA0012_sa.cfg" turb_naca0012_sa.test_iter = 20 turb_naca0012_sa.test_vals = [-6.607223, -9.778334, 1.098508, 0.012417] #last 4 columns turb_naca0012_sa.su2_exec = "parallel_computation.py -f" turb_naca0012_sa.timeout = 3200 turb_naca0012_sa.tol = 0.00001 test_list.append(turb_naca0012_sa) # NACA0012 (SST, FUN3D results: CL=1.0840, CD=0.01253) turb_naca0012_sst = TestCase('turb_naca0012_sst') turb_naca0012_sst.cfg_dir = "rans/naca0012" turb_naca0012_sst.cfg_file = "turb_NACA0012_sst.cfg" turb_naca0012_sst.test_iter = 20 turb_naca0012_sst.test_vals = [-8.290777, -1.743118, 1.084186, 0.012583] #last 4 columns turb_naca0012_sst.su2_exec = "parallel_computation.py -f" turb_naca0012_sst.timeout = 3200 turb_naca0012_sst.tol = 0.00001 test_list.append(turb_naca0012_sst) ############################ ### Incompressible RANS ### ############################ # NACA0012 inc_turb_naca0012 = TestCase('inc_turb_naca0012') inc_turb_naca0012.cfg_dir = "incomp_rans/naca0012" inc_turb_naca0012.cfg_file = "naca0012.cfg" inc_turb_naca0012.test_iter = 20 inc_turb_naca0012.test_vals = [-4.709508, -11.006161, -0.000017, 0.211696] #last 4 columns inc_turb_naca0012.su2_exec = "parallel_computation.py -f" inc_turb_naca0012.timeout = 1600 inc_turb_naca0012.tol = 0.00001 test_list.append(inc_turb_naca0012) ##################################### ### Cont. adj. compressible Euler ### ##################################### # Inviscid NACA0012 contadj_naca0012 = TestCase('contadj_naca0012') contadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" contadj_naca0012.cfg_file = "inv_NACA0012.cfg" contadj_naca0012.test_iter = 5 contadj_naca0012.test_vals = [-9.783724, -15.192804, 0.300920, 0.536870] #last 4 columns contadj_naca0012.su2_exec = "parallel_computation.py -f" contadj_naca0012.timeout = 1600 contadj_naca0012.tol = 0.00001 test_list.append(contadj_naca0012) # Inviscid ONERA M6 contadj_oneram6 = TestCase('contadj_oneram6') contadj_oneram6.cfg_dir = "cont_adj_euler/oneram6" contadj_oneram6.cfg_file = "inv_ONERAM6.cfg" contadj_oneram6.test_iter = 5 contadj_oneram6.test_vals = [-6.001400, -6.242615, -0.105160, 0.149240] #last 4 columns contadj_oneram6.su2_exec = "parallel_computation.py -f" contadj_oneram6.timeout = 1600 contadj_oneram6.tol = 0.00001 test_list.append(contadj_oneram6) ################################### ### Cont. adj. compressible N-S ### ################################### # Adjoint laminar cylinder contadj_ns_cylinder = TestCase('contadj_ns_cylinder') contadj_ns_cylinder.cfg_dir = "cont_adj_navierstokes/cylinder" contadj_ns_cylinder.cfg_file = "lam_cylinder.cfg" contadj_ns_cylinder.test_iter = 100 contadj_ns_cylinder.test_vals = [-3.658396, -9.117436, -2.056700, 4.497000] #last 4 columns contadj_ns_cylinder.su2_exec = "parallel_computation.py -f" contadj_ns_cylinder.timeout = 1600 contadj_ns_cylinder.tol = 0.00001 test_list.append(contadj_ns_cylinder) # Adjoint laminar naca0012 subsonic contadj_ns_naca0012_sub = TestCase('contadj_ns_naca0012_sub') contadj_ns_naca0012_sub.cfg_dir = "cont_adj_navierstokes/naca0012_sub" contadj_ns_naca0012_sub.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_sub.test_iter = 100 contadj_ns_naca0012_sub.test_vals = [-2.744551, -8.216469, 0.518810, 0.229160] #last 4 columns contadj_ns_naca0012_sub.su2_exec = "parallel_computation.py -f" contadj_ns_naca0012_sub.timeout = 1600 contadj_ns_naca0012_sub.tol = 0.00001 test_list.append(contadj_ns_naca0012_sub) # Adjoint laminar naca0012 transonic contadj_ns_naca0012_trans = TestCase('contadj_ns_naca0012_trans') contadj_ns_naca0012_trans.cfg_dir = "cont_adj_navierstokes/naca0012_trans" contadj_ns_naca0012_trans.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_trans.test_iter = 100 contadj_ns_naca0012_trans.test_vals = [-1.041539, -6.578524, 1.772300, 0.620880] #last 4 columns contadj_ns_naca0012_trans.su2_exec = "parallel_computation.py -f" contadj_ns_naca0012_trans.timeout = 1600 contadj_ns_naca0012_trans.tol = 0.00001 test_list.append(contadj_ns_naca0012_trans) ####################################################### ### Cont. adj. compressible RANS (frozen viscosity) ### ####################################################### # Adjoint turbulent NACA0012 contadj_rans_naca0012 = TestCase('contadj_rans_naca0012') contadj_rans_naca0012.cfg_dir = "cont_adj_rans/naca0012" contadj_rans_naca0012.cfg_file = "turb_nasa.cfg" contadj_rans_naca0012.test_iter = 100 contadj_rans_naca0012.test_vals = [-0.814757, -5.726517, -19.169000, -2.994100] #last 4 columns contadj_rans_naca0012.su2_exec = "parallel_computation.py -f" contadj_rans_naca0012.timeout = 1600 contadj_rans_naca0012.tol = 0.00001 test_list.append(contadj_rans_naca0012) # Adjoint turbulent RAE2822 contadj_rans_rae2822 = TestCase('contadj_rans_rae822') contadj_rans_rae2822.cfg_dir = "cont_adj_rans/rae2822" contadj_rans_rae2822.cfg_file = "turb_SA_RAE2822.cfg" contadj_rans_rae2822.test_iter = 100 contadj_rans_rae2822.test_vals = [-5.381632, -10.887032, -0.212470, 0.269390] #last 4 columns contadj_rans_rae2822.su2_exec = "parallel_computation.py -f" contadj_rans_rae2822.timeout = 1600 contadj_rans_rae2822.tol = 0.00001 test_list.append(contadj_rans_rae2822) ####################################### ### Cont. adj. incompressible Euler ### ####################################### # Adjoint Incompressible Inviscid NACA0012 contadj_incomp_NACA0012 = TestCase('contadj_incomp_NACA0012') contadj_incomp_NACA0012.cfg_dir = "cont_adj_incomp_euler/naca0012" contadj_incomp_NACA0012.cfg_file = "incomp_NACA0012.cfg" contadj_incomp_NACA0012.test_iter = 5 contadj_incomp_NACA0012.test_vals = [-11.968536, -12.133234, 1.939900, 0.000000] #last 4 columns contadj_incomp_NACA0012.su2_exec = "parallel_computation.py -f" contadj_incomp_NACA0012.timeout = 1600 contadj_incomp_NACA0012.tol = 0.00001 test_list.append(contadj_incomp_NACA0012) ##################################### ### Cont. adj. incompressible N-S ### ##################################### # Adjoint Incompressible Viscous Cylinder contadj_incomp_cylinder = TestCase('contadj_incomp_cylinder') contadj_incomp_cylinder.cfg_dir = "cont_adj_incomp_navierstokes/cylinder" contadj_incomp_cylinder.cfg_file = "lam_incomp_cylinder.cfg" contadj_incomp_cylinder.test_iter = 25 contadj_incomp_cylinder.test_vals = [-5.718776, -7.020714, -2.932100, 0.000000] #last 4 columns contadj_incomp_cylinder.su2_exec = "parallel_computation.py -f" contadj_incomp_cylinder.timeout = 1600 contadj_incomp_cylinder.tol = 0.00001 test_list.append(contadj_incomp_cylinder) ###################################### ### Thermochemical Nonequilibrium ### ###################################### # RAM-C II Sphere-Cone -- 61km Altitude ramc = TestCase('ramc') ramc.cfg_dir = "tne2/ramc" ramc.cfg_file = "ramc61km.cfg" ramc.test_iter = 25 ramc.test_vals = [-4.643029, 2.849441, -4.443852, 0.000313] #last 4 columns ramc.su2_exec = "parallel_computation.py -f" ramc.timeout = 1600 ramc.tol = 0.00001 test_list.append(ramc) ###################################### ### Moving Wall ### ###################################### # Lid-driven cavity cavity = TestCase('cavity') cavity.cfg_dir = "moving_wall/cavity" cavity.cfg_file = "lam_cavity.cfg" cavity.test_iter = 25 cavity.test_vals = [-5.594283, -0.130745, -0.510607, 0.061921] #last 4 columns cavity.su2_exec = "parallel_computation.py -f" cavity.timeout = 1600 cavity.tol = 0.00001 test_list.append(cavity) # Spinning cylinder spinning_cylinder = TestCase('spinning_cylinder') spinning_cylinder.cfg_dir = "moving_wall/spinning_cylinder" spinning_cylinder.cfg_file = "spinning_cylinder.cfg" spinning_cylinder.test_iter = 25 spinning_cylinder.test_vals = [-7.637313, -2.194229, 1.212769, 1.605369] #last 4 columns spinning_cylinder.su2_exec = "parallel_computation.py -f" spinning_cylinder.timeout = 1600 spinning_cylinder.tol = 0.00001 test_list.append(spinning_cylinder) ###################################### ### Unsteady ### ###################################### # Square cylinder square_cylinder = TestCase('square_cylinder') square_cylinder.cfg_dir = "unsteady/square_cylinder" square_cylinder.cfg_file = "turb_square.cfg" square_cylinder.test_iter = 3 square_cylinder.test_vals = [-1.544602, 0.048576, 1.398951, 2.196894] #last 4 columns square_cylinder.su2_exec = "parallel_computation.py -f" square_cylinder.timeout = 1600 square_cylinder.tol = 0.00001 test_list.append(square_cylinder) ###################################### ### Real_Gas ### ###################################### # Rarefaction shock wave edge_VW edge_VW = TestCase('edge_VW') edge_VW.cfg_dir = "nicf/edge" edge_VW.cfg_file = "edge_VW.cfg" edge_VW.test_iter = 100 edge_VW.test_vals = [-1.446069, 4.751345, -0.000046, 0.000000] #last 4 columns edge_VW.su2_exec = "parallel_computation.py -f" edge_VW.timeout = 1600 edge_VW.tol = 0.00001 test_list.append(edge_VW) # Rarefaction shock wave edge_PPR edge_PPR = TestCase('edge_PPR') edge_PPR.cfg_dir = "nicf/edge" edge_PPR.cfg_file = "edge_PPR.cfg" edge_PPR.test_iter = 100 edge_PPR.test_vals = [-1.994951, 4.175777, -0.000056, 0.000000] #last 4 columns edge_PPR.su2_exec = "parallel_computation.py -f" edge_PPR.timeout = 1600 edge_PPR.tol = 0.00001 test_list.append(edge_PPR) ###################################### ### RUN TESTS ### ###################################### pass_list = [ test.run_test() for test in test_list ] if all(pass_list): sys.exit(0) else: sys.exit(1)
def main(): '''This program runs SU2 and ensures that the output matches specified values. This will be used to do checks when code is pushed to github to make sure nothing is broken. ''' test_list = [] ##################################### ### Disc. adj. compressible Euler ### ##################################### # Inviscid NACA0012 discadj_naca0012 = TestCase('discadj_naca0012') discadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" discadj_naca0012.cfg_file = "inv_NACA0012_discadj.cfg" discadj_naca0012.test_iter = 100 discadj_naca0012.test_vals = [-3.561506, -8.926634, -0.000000, 0.005587] test_list.append(discadj_naca0012) # Inviscid Cylinder 3D (multiple markers) discadj_cylinder3D = TestCase('discadj_cylinder3D') discadj_cylinder3D.cfg_dir = "disc_adj_euler/cylinder3D" discadj_cylinder3D.cfg_file = "inv_cylinder3D.cfg" discadj_cylinder3D.test_iter = 5 discadj_cylinder3D.test_vals = [-3.730673, -3.832084, -0.000000, 0.000000] test_list.append(discadj_cylinder3D) # Arina nozzle 2D discadj_arina2k = TestCase('discadj_arina2k') discadj_arina2k.cfg_dir = "disc_adj_euler/arina2k" discadj_arina2k.cfg_file = "Arina2KRS.cfg" discadj_arina2k.test_iter = 20 discadj_arina2k.test_vals = [-3.087876, -3.481506, 0.068878, 0.000000] test_list.append(discadj_arina2k) #################################### ### Disc. adj. compressible RANS ### #################################### # Adjoint turbulent NACA0012 SA discadj_rans_naca0012_sa = TestCase('discadj_rans_naca0012_sa') discadj_rans_naca0012_sa.cfg_dir = "disc_adj_rans/naca0012" discadj_rans_naca0012_sa.cfg_file = "turb_NACA0012_sa.cfg" discadj_rans_naca0012_sa.test_iter = 10 discadj_rans_naca0012_sa.test_vals = [ -2.230632, 0.696530, 0.177890, -0.000016, 5, -3.007652, 5, -7.666352 ] test_list.append(discadj_rans_naca0012_sa) # Adjoint turbulent NACA0012 SST discadj_rans_naca0012_sst = TestCase('discadj_rans_naca0012_sst') discadj_rans_naca0012_sst.cfg_dir = "disc_adj_rans/naca0012" discadj_rans_naca0012_sst.cfg_file = "turb_NACA0012_sst.cfg" discadj_rans_naca0012_sst.test_iter = 10 discadj_rans_naca0012_sst.test_vals = [ -2.221793, -0.491367, 0.182000, -0.000018 ] test_list.append(discadj_rans_naca0012_sst) ####################################### ### Disc. adj. incompressible Euler ### ####################################### # Adjoint Incompressible Inviscid NACA0012 discadj_incomp_NACA0012 = TestCase('discadj_incomp_NACA0012') discadj_incomp_NACA0012.cfg_dir = "disc_adj_incomp_euler/naca0012" discadj_incomp_NACA0012.cfg_file = "incomp_NACA0012_disc.cfg" discadj_incomp_NACA0012.test_iter = 20 discadj_incomp_NACA0012.test_vals = [ 20.000000, -4.092007, -2.652751, 0.000000 ] test_list.append(discadj_incomp_NACA0012) ##################################### ### Disc. adj. incompressible N-S ### ##################################### # Adjoint Incompressible Viscous Cylinder (Heated) discadj_incomp_cylinder = TestCase('discadj_incomp_cylinder') discadj_incomp_cylinder.cfg_dir = "disc_adj_incomp_navierstokes/cylinder" discadj_incomp_cylinder.cfg_file = "heated_cylinder.cfg" discadj_incomp_cylinder.test_iter = 20 discadj_incomp_cylinder.test_vals = [ 20.000000, -2.705921, -2.837904, 0.000000 ] test_list.append(discadj_incomp_cylinder) ###################################### ### Disc. adj. incompressible RANS ### ###################################### # Adjoint Incompressible Turbulent NACA 0012 SA discadj_incomp_turb_NACA0012_sa = TestCase( 'discadj_incomp_turb_NACA0012_sa') discadj_incomp_turb_NACA0012_sa.cfg_dir = "disc_adj_incomp_rans/naca0012" discadj_incomp_turb_NACA0012_sa.cfg_file = "turb_naca0012_sa.cfg" discadj_incomp_turb_NACA0012_sa.test_iter = 10 discadj_incomp_turb_NACA0012_sa.test_vals = [ 10.000000, -3.845995, -1.031097, 0.000000 ] test_list.append(discadj_incomp_turb_NACA0012_sa) # Adjoint Incompressible Turbulent NACA 0012 SST discadj_incomp_turb_NACA0012_sst = TestCase( 'discadj_incomp_turb_NACA0012_sst') discadj_incomp_turb_NACA0012_sst.cfg_dir = "disc_adj_incomp_rans/naca0012" discadj_incomp_turb_NACA0012_sst.cfg_file = "turb_naca0012_sst.cfg" discadj_incomp_turb_NACA0012_sst.test_iter = 10 discadj_incomp_turb_NACA0012_sst.test_vals = [ -3.845593, -2.414026, -8.420194, 0.000000 ] test_list.append(discadj_incomp_turb_NACA0012_sst) ####################################################### ### Unsteady Disc. adj. compressible RANS ### ####################################################### # Turbulent Cylinder discadj_cylinder = TestCase('unsteady_cylinder') discadj_cylinder.cfg_dir = "disc_adj_rans/cylinder" discadj_cylinder.cfg_file = "cylinder.cfg" discadj_cylinder.test_iter = 9 discadj_cylinder.test_vals = [3.746907, -1.544882, -0.008321, 0.000014] discadj_cylinder.unsteady = True test_list.append(discadj_cylinder) ############################################################## ### Unsteady Disc. adj. compressible RANS Windowed Average ### ############################################################## # Turbulent Cylinder discadj_cylinder = TestCase('unsteady_cylinder_windowed_average_AD') discadj_cylinder.cfg_dir = "disc_adj_rans/cylinder" discadj_cylinder.cfg_file = "cylinder_Windowing_AD.cfg" discadj_cylinder.test_iter = 9 discadj_cylinder.test_vals = [3.004402] discadj_cylinder.unsteady = True test_list.append(discadj_cylinder) ########################################################################## ### Unsteady Disc. adj. compressible RANS DualTimeStepping 1st order ### ########################################################################## # Turbulent Cylinder discadj_DT_1ST_cylinder = TestCase('unsteady_cylinder_DT_1ST') discadj_DT_1ST_cylinder.cfg_dir = "disc_adj_rans/cylinder_DT_1ST" discadj_DT_1ST_cylinder.cfg_file = "cylinder.cfg" discadj_DT_1ST_cylinder.test_iter = 9 discadj_DT_1ST_cylinder.test_vals = [ 3.698167, -1.607051, -0.002159, 0.000028 ] discadj_DT_1ST_cylinder.unsteady = True test_list.append(discadj_DT_1ST_cylinder) ###################################################### ### Unsteady Disc. adj. compressible pitching NACA ### ###################################################### # compressible pitching NACA0012 discadj_pitchingNACA0012 = TestCase('pitchingNACA0012') discadj_pitchingNACA0012.cfg_dir = "disc_adj_euler/naca0012_pitching" discadj_pitchingNACA0012.cfg_file = "inv_NACA0012_pitching.cfg" discadj_pitchingNACA0012.test_iter = 4 discadj_pitchingNACA0012.test_vals = [ -1.219713, -1.645717, -0.007513, 0.000013 ] discadj_pitchingNACA0012.unsteady = True test_list.append(discadj_pitchingNACA0012) ####################################################### ### Disc. adj. turbomachinery ### ####################################################### # Transonic Stator 2D discadj_trans_stator = TestCase('transonic_stator') discadj_trans_stator.cfg_dir = "disc_adj_turbomachinery/transonic_stator_2D" discadj_trans_stator.cfg_file = "transonic_stator.cfg" discadj_trans_stator.test_iter = 79 discadj_trans_stator.test_vals = [79.000000, -1.938806, -1.995540] test_list.append(discadj_trans_stator) ################################### ### Structural Adjoint ### ################################### # Structural model discadj_fea = TestCase('discadj_fea') discadj_fea.cfg_dir = "disc_adj_fea" discadj_fea.cfg_file = "configAD_fem.cfg" discadj_fea.test_iter = 4 discadj_fea.test_vals = [1.774569, 1.928023, -0.000364, -8.690300] test_list.append(discadj_fea) ###################################### ### RUN TESTS ### ###################################### for test in test_list: test.su2_exec = "SU2_CFD_AD -t 2" test.timeout = 600 test.tol = 1e-4 #end pass_list = [test.run_test() for test in test_list] # Tests summary print('==================================================================') print('Summary of the hybrid parallel AD tests') print('python version:', sys.version) for i, test in enumerate(test_list): if (pass_list[i]): print(' passed - %s' % test.tag) else: print('* FAILED - %s' % test.tag) if all(pass_list): sys.exit(0) else: sys.exit(1)
#!/usr/bin/python3 # Honestly, making "Driver" a class was worth it # just so we have this one called "DriverDriver.py" from Driver import Driver from TestCase import TestCase import sys with open(sys.argv[1], "r") as testfile: blueprint = TestCase.parse_syntax(testfile) if blueprint is not None: tc = TestCase(blueprint) dr = Driver(tc) dr.execute() elif blueprint is None: print("Invalid blueprint")
def main(): '''This program runs SU^2 and ensures that the output matches specified values. This will be used to do nightly checks to make sure nothing is broken. ''' workdir = os.getcwd() # environment variables for SU2 os.environ['SU2_HOME'] = '/home/ale11/.cruise/projects/parallel_regression/work/SU2' os.environ['SU2_RUN'] = '/home/ale11/.cruise/projects/parallel_regression/work/SU2/bin' os.environ['PATH'] = os.environ['PATH'] + ':' + os.environ['SU2_RUN'] # sync SU2 repo os.chdir( os.environ['SU2_HOME'] ) os.system('git pull') # Build SU2_CFD in parallel using autoconf os.system('./configure --prefix=$SU2_HOME --with-MPI=mpicxx CXXFLAGS="-O3"') os.system('make clean') os.system('make install') os.chdir(os.environ['SU2_RUN']) if not os.path.exists("./SU2_CFD"): print 'Could not build SU2_CFD' sys.exit(1) if not os.path.exists("./SU2_PRT"): print 'Could not build SU2_PRT' sys.exit(1) os.chdir(workdir) test_list = [] ########################## ### Compressible Euler ### ########################## # Channel channel = TestCase('channel') channel.cfg_dir = "euler/channel" channel.cfg_file = "inv_channel_RK.cfg" channel.test_iter = 100 channel.test_vals = [-2.413846,2.965840,0.007590,0.051651] channel.su2_exec = "parallel_computation.py -f" channel.timeout = 1600 channel.tol = 0.00001 test_list.append(channel) # NACA0012 naca0012 = TestCase('naca0012') naca0012.cfg_dir = "euler/naca0012" naca0012.cfg_file = "inv_NACA0012_Roe.cfg" naca0012.test_iter = 100 naca0012.test_vals = [-3.751809,-3.271265,0.136604,0.066791] naca0012.su2_exec = "parallel_computation.py -f" naca0012.timeout = 1600 naca0012.tol = 0.00001 test_list.append(naca0012) # Supersonic wedge wedge = TestCase('wedge') wedge.cfg_dir = "euler/wedge" wedge.cfg_file = "inv_wedge_HLLC.cfg" wedge.test_iter = 100 wedge.test_vals = [-2.694577,3.148295,-0.252137,0.044398] wedge.su2_exec = "parallel_computation.py -f" wedge.timeout = 1600 wedge.tol = 0.00001 test_list.append(wedge) # ONERA M6 Wing oneram6 = TestCase('oneram6') oneram6.cfg_dir = "euler/oneram6" oneram6.cfg_file = "inv_ONERAM6_JST.cfg" oneram6.test_iter = 10 oneram6.test_vals = [-4.819412,-4.286432,0.288842,0.016334] oneram6.su2_exec = "parallel_computation.py -f" oneram6.timeout = 3200 oneram6.tol = 0.00001 test_list.append(oneram6) ########################## ### Compressible N-S ### ########################## # Laminar flat plate flatplate = TestCase('flatplate') flatplate.cfg_dir = "navierstokes/flatplate" flatplate.cfg_file = "lam_flatplate.cfg" flatplate.test_iter = 100 flatplate.test_vals = [-5.142353,0.347570,0.029870,0.015971] flatplate.su2_exec = "parallel_computation.py -f" flatplate.timeout = 1600 flatplate.tol = 0.00001 test_list.append(flatplate) # Laminar cylinder (steady) cylinder = TestCase('cylinder') cylinder.cfg_dir = "navierstokes/cylinder" cylinder.cfg_file = "lam_cylinder.cfg" cylinder.test_iter = 25 cylinder.test_vals = [-9.727830,-9.107325,-0.047634,3.804844] cylinder.su2_exec = "parallel_computation.py -f" cylinder.timeout = 1600 cylinder.tol = 0.00001 test_list.append(cylinder) ########################## ### Compressible RANS ### ########################## # RAE2822 rae2822 = TestCase('rae2822') rae2822.cfg_dir = "rans/rae2822" rae2822.cfg_file = "turb_SA_RAE2822.cfg" rae2822.test_iter = 100 rae2822.test_vals = [-3.650797,-5.455693,0.886602,0.024346 ] #last 4 columns rae2822.su2_exec = "parallel_computation.py -f" rae2822.timeout = 1600 rae2822.tol = 0.00001 test_list.append(rae2822) # Flat plate turb_flatplate = TestCase('turb_flatplate') turb_flatplate.cfg_dir = "rans/flatplate" turb_flatplate.cfg_file = "turb_SA_flatplate.cfg" turb_flatplate.test_iter = 100 turb_flatplate.test_vals = [-5.086782,-7.250991,-0.000015,0.014381] #last 4 columns turb_flatplate.su2_exec = "parallel_computation.py -f" turb_flatplate.timeout = 1600 turb_flatplate.tol = 0.00001 test_list.append(turb_flatplate) # ONERA M6 Wing turb_oneram6 = TestCase('turb_oneram6') turb_oneram6.cfg_dir = "rans/oneram6" turb_oneram6.cfg_file = "turb_ONERAM6.cfg" turb_oneram6.test_iter = 10 turb_oneram6.test_vals = [-4.872687,-11.524700,0.238115,0.155977] #last 4 columns turb_oneram6.su2_exec = "parallel_computation.py -f" turb_oneram6.timeout = 3200 turb_oneram6.tol = 0.00001 test_list.append(turb_oneram6) # NACA0012 turb_naca0012 = TestCase('turb_naca0012') turb_naca0012.cfg_dir = "rans/naca0012" turb_naca0012.cfg_file = "turb_NACA0012.cfg" turb_naca0012.test_iter = 20 turb_naca0012.test_vals = [-7.508443,-9.210101,-0.000034,0.007944] #last 4 columns turb_naca0012.su2_exec = "parallel_computation.py -f" turb_naca0012.timeout = 3200 turb_naca0012.tol = 0.00001 test_list.append(turb_naca0012) ############################ ### Incompressible RANS ### ############################ # NACA0012 inc_turb_naca0012 = TestCase('inc_turb_naca0012') inc_turb_naca0012.cfg_dir = "incomp_rans/naca0012" inc_turb_naca0012.cfg_file = "naca0012.cfg" inc_turb_naca0012.test_iter = 20 inc_turb_naca0012.test_vals = [-9.066924,-8.386769,-0.000003,0.008181] #last 4 columns inc_turb_naca0012.su2_exec = "parallel_computation.py -f" inc_turb_naca0012.timeout = 1600 inc_turb_naca0012.tol = 0.00001 test_list.append(inc_turb_naca0012) ##################################### ### Cont. adj. compressible Euler ### ##################################### # Inviscid NACA0012 (To be validated with finite differences) contadj_naca0012 = TestCase('contadj_naca0012') contadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" contadj_naca0012.cfg_file = "inv_NACA0012.cfg" contadj_naca0012.test_iter = 100 contadj_naca0012.test_vals = [-4.953138,-10.312798,0.006116,0.527890] #last 4 columns contadj_naca0012.su2_exec = "parallel_computation.py -f" contadj_naca0012.timeout = 1600 contadj_naca0012.tol = 0.00001 test_list.append(contadj_naca0012) # Inviscid RAM-C (To be validated with finite differences) contadj_ram_c = TestCase('contadj_ram_c') contadj_ram_c.cfg_dir = "cont_adj_euler/ram_c" contadj_ram_c.cfg_file = "inv_RAMC.cfg" contadj_ram_c.test_iter = 100 contadj_ram_c.test_vals = [0.776609,-7.308868,-0.001885,0.080464] #last 4 columns contadj_ram_c.su2_exec = "parallel_computation.py -f" contadj_ram_c.timeout = 1600 contadj_ram_c.tol = 0.00001 test_list.append(contadj_ram_c) ################################### ### Cont. adj. compressible N-S ### ################################### # Adjoint laminar cylinder contadj_ns_cylinder = TestCase('contadj_ns_cylinder') contadj_ns_cylinder.cfg_dir = "cont_adj_navierstokes/cylinder" contadj_ns_cylinder.cfg_file = "lam_cylinder.cfg" contadj_ns_cylinder.test_iter = 100 contadj_ns_cylinder.test_vals = [2.599646,-1.977099,0.529560,179.160000] #last 4 columns contadj_ns_cylinder.su2_exec = "parallel_computation.py -f" contadj_ns_cylinder.timeout = 1600 contadj_ns_cylinder.tol = 0.00001 test_list.append(contadj_ns_cylinder) # Adjoint laminar naca0012 (To be fixed) contadj_ns_naca0012 = TestCase('contadj_ns_naca0012') contadj_ns_naca0012.cfg_dir = "cont_adj_navierstokes/naca0012" contadj_ns_naca0012.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012.test_iter = 100 contadj_ns_naca0012.test_vals = [1.515646,-3.816185,8.9793e-01,1.7569e-01] #last 4 columns contadj_ns_naca0012.su2_exec = "parallel_computation.py -f" contadj_ns_naca0012.timeout = 1600 contadj_ns_naca0012.tol = 0.00001 test_list.append(contadj_ns_naca0012) ####################################################### ### Cont. adj. compressible RANS (frozen viscosity) ### ####################################################### # Adjoint turbulent NACA0012 (To be validated with finite differences) contadj_rans_naca0012 = TestCase('contadj_rans_naca0012') contadj_rans_naca0012.cfg_dir = "cont_adj_rans/naca0012" contadj_rans_naca0012.cfg_file = "turb_nasa.cfg" contadj_rans_naca0012.test_iter = 100 contadj_rans_naca0012.test_vals = [-5.356749,-8.622049,18.310000,-0.000000] #last 4 columns contadj_rans_naca0012.su2_exec = "parallel_computation.py -f" contadj_rans_naca0012.timeout = 1600 contadj_rans_naca0012.tol = 0.00001 test_list.append(contadj_rans_naca0012) ####################################### ### Cont. adj. incompressible Euler ### ####################################### # Adjoint Incompressible Inviscid NACA0012 contadj_incomp_NACA0012 = TestCase('contadj_incomp_NACA0012') contadj_incomp_NACA0012.cfg_dir = "cont_adj_incomp_euler/naca0012" contadj_incomp_NACA0012.cfg_file = "incomp_NACA0012.cfg" contadj_incomp_NACA0012.test_iter = 140 contadj_incomp_NACA0012.test_vals = [-7.613876,-7.157641,0.011112,0.000000] #last 4 columns contadj_incomp_NACA0012.su2_exec = "parallel_computation.py -f" contadj_incomp_NACA0012.timeout = 1600 contadj_incomp_NACA0012.tol = 0.00001 test_list.append(contadj_incomp_NACA0012) ##################################### ### Cont. adj. incompressible N-S ### ##################################### # Adjoint Incompressible Viscous Cylinder contadj_incomp_cylinder = TestCase('contadj_incomp_cylinder') contadj_incomp_cylinder.cfg_dir = "cont_adj_incomp_navierstokes/cylinder" contadj_incomp_cylinder.cfg_file = "lam_incomp_cylinder.cfg" contadj_incomp_cylinder.test_iter = 25 contadj_incomp_cylinder.test_vals = [-9.002264,-10.002274,0.048091,0.000000 ] #last 4 columns contadj_incomp_cylinder.su2_exec = "parallel_computation.py -f" contadj_incomp_cylinder.timeout = 1600 contadj_incomp_cylinder.tol = 0.00001 test_list.append(contadj_incomp_cylinder) ###################################### ### Thermochemical Nonequilibrium ### ###################################### # RAM-C II Sphere-Cone -- 61km Altitude ramc = TestCase('ramc') ramc.cfg_dir = "tne2/ramc" ramc.cfg_file = "ramc61km.cfg" ramc.test_iter = 25 ramc.test_vals = [-4.638119,2.854417,-4.439634,0.000188] ramc.su2_exec = "parallel_computation.py -f" ramc.timeout = 1600 ramc.tol = 0.00001 test_list.append(ramc) ###################################### ### RUN TESTS ### ###################################### pass_list = [ test.run_test() for test in test_list ] if all(pass_list): sys.exit(0) else: sys.exit(1)
def main(): '''This program runs SU2 and ensures that the output matches specified values. This will be used to do checks when code is pushed to github to make sure nothing is broken. ''' test_list = [] ##################################### ### Disc. adj. compressible Euler ### ##################################### # Inviscid NACA0012 discadj_naca0012 = TestCase('discadj_naca0012') discadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" discadj_naca0012.cfg_file = "inv_NACA0012_discadj.cfg" discadj_naca0012.test_iter = 100 discadj_naca0012.test_vals = [-3.606841, -9.035214, -0.000000, 0.005688] #last 4 columns discadj_naca0012.su2_exec = "parallel_computation.py -f" discadj_naca0012.timeout = 1600 discadj_naca0012.tol = 0.00001 test_list.append(discadj_naca0012) # Inviscid Cylinder 3D (multiple markers) discadj_cylinder3D = TestCase('discadj_cylinder3D') discadj_cylinder3D.cfg_dir = "disc_adj_euler/cylinder3D" discadj_cylinder3D.cfg_file = "inv_cylinder3D.cfg" discadj_cylinder3D.test_iter = 5 discadj_cylinder3D.test_vals = [-3.720476, -4.039256, 0.000000, 0.000000] #last 4 columns discadj_cylinder3D.su2_exec = "parallel_computation.py -f" discadj_cylinder3D.timeout = 1600 discadj_cylinder3D.tol = 0.00001 test_list.append(discadj_cylinder3D) #################################### ### Disc. adj. compressible RANS ### #################################### # Adjoint turbulent NACA0012 SA discadj_rans_naca0012_sa = TestCase('discadj_rans_naca0012_sa') discadj_rans_naca0012_sa.cfg_dir = "disc_adj_rans/naca0012" discadj_rans_naca0012_sa.cfg_file = "turb_NACA0012_sa.cfg" discadj_rans_naca0012_sa.test_iter = 10 discadj_rans_naca0012_sa.test_vals = [-1.751965, 0.485796, 0.182895, -0.000018] #last 4 columns discadj_rans_naca0012_sa.su2_exec = "parallel_computation.py -f" discadj_rans_naca0012_sa.timeout = 1600 discadj_rans_naca0012_sa.tol = 0.00001 test_list.append(discadj_rans_naca0012_sa) # Adjoint turbulent NACA0012 SST discadj_rans_naca0012_sst = TestCase('discadj_rans_naca0012_sst') discadj_rans_naca0012_sst.cfg_dir = "disc_adj_rans/naca0012" discadj_rans_naca0012_sst.cfg_file = "turb_NACA0012_sst.cfg" discadj_rans_naca0012_sst.test_iter = 10 discadj_rans_naca0012_sst.test_vals = [-1.654193, -0.499281, 0.145545, -0.000018] #last 4 columns discadj_rans_naca0012_sst.su2_exec = "parallel_computation.py -f" discadj_rans_naca0012_sst.timeout = 1600 discadj_rans_naca0012_sst.tol = 0.00001 test_list.append(discadj_rans_naca0012_sst) ####################################### ### Disc. adj. incompressible Euler ### ####################################### # Adjoint Incompressible Inviscid NACA0012 discadj_incomp_NACA0012 = TestCase('discadj_incomp_NACA0012') discadj_incomp_NACA0012.cfg_dir = "cont_adj_incomp_euler/naca0012" discadj_incomp_NACA0012.cfg_file = "incomp_NACA0012_disc.cfg" discadj_incomp_NACA0012.test_iter = 20 discadj_incomp_NACA0012.test_vals = [-2.917789, -2.714752, 0.000000, 0.000000] #last 4 columns discadj_incomp_NACA0012.su2_exec = "parallel_computation.py -f" discadj_incomp_NACA0012.timeout = 1600 discadj_incomp_NACA0012.tol = 0.00001 test_list.append(discadj_incomp_NACA0012) ##################################### ### Disc. adj. incompressible N-S ### ##################################### # Adjoint Incompressible Viscous Cylinder discadj_incomp_cylinder = TestCase('discadj_incomp_cylinder') discadj_incomp_cylinder.cfg_dir = "cont_adj_incomp_navierstokes/cylinder" discadj_incomp_cylinder.cfg_file = "lam_incomp_cylinder_disc.cfg" discadj_incomp_cylinder.test_iter = 20 discadj_incomp_cylinder.test_vals = [-2.727423, -2.272530, 0.000000, 0.000000] #last 4 columns discadj_incomp_cylinder.su2_exec = "parallel_computation.py -f" discadj_incomp_cylinder.timeout = 1600 discadj_incomp_cylinder.tol = 0.00001 test_list.append(discadj_incomp_cylinder) ###################################### ### Disc. adj. incompressible RANS ### ###################################### # Adjoint Incompressible Turbulent NACA 0012 discadj_incomp_turb_NACA0012 = TestCase('discadj_incomp_turb_NACA0012') discadj_incomp_turb_NACA0012.cfg_dir = "incomp_rans/naca0012" discadj_incomp_turb_NACA0012.cfg_file = "naca0012_disc.cfg" discadj_incomp_turb_NACA0012.test_iter = 100 discadj_incomp_turb_NACA0012.test_vals = [-3.645810, -1.625922, 0.000000, 0.000000] #last 4 columns discadj_incomp_turb_NACA0012.su2_exec = "parallel_computation.py -f" discadj_incomp_turb_NACA0012.timeout = 1600 discadj_incomp_turb_NACA0012.tol = 0.00001 test_list.append(discadj_incomp_turb_NACA0012) ####################################################### ### Unsteady Disc. adj. compressible RANS ### ####################################################### # Turbulent Cylinder discadj_cylinder = TestCase('unsteady_cylinder') discadj_cylinder.cfg_dir = "disc_adj_rans/cylinder" discadj_cylinder.cfg_file = "cylinder.cfg" discadj_cylinder.test_iter = 9 discadj_cylinder.test_vals = [3.746900, -1.544893, -8.3447e-03, 1.3808e-05] #last 4 columns discadj_cylinder.su2_exec = "parallel_computation.py -f" discadj_cylinder.timeout = 1600 discadj_cylinder.tol = 0.00001 discadj_cylinder.unsteady = True test_list.append(discadj_cylinder) ####################################################### ### Disc. adj. turbomachinery ### ####################################################### # Transonic Stator 2D discadj_trans_stator = TestCase('transonic_stator') discadj_trans_stator.cfg_dir = "disc_adj_turbomachinery/transonic_stator_2D" discadj_trans_stator.cfg_file = "transonic_stator.cfg" discadj_trans_stator.test_iter = 79 discadj_trans_stator.test_vals = [-2.001081, -2.115303, -0.450996, -15.778175] #last 4 columns discadj_trans_stator.su2_exec = "parallel_computation.py -f" discadj_trans_stator.timeout = 1600 discadj_trans_stator.tol = 0.00001 test_list.append(discadj_trans_stator) ################################### ### Structural Adjoint ### ################################### # Turbulent Cylinder discadj_fea = TestCase('discadj_fea') discadj_fea.cfg_dir = "disc_adj_fea" discadj_fea.cfg_file = "configAD_fem.cfg" discadj_fea.test_iter = 9 discadj_fea.test_vals = [-4.872191, -5.131614, -3.6413e-04, -8.7087e+00] #last 4 columns discadj_fea.su2_exec = "parallel_computation.py -f" discadj_fea.timeout = 1600 discadj_fea.tol = 0.00001 test_list.append(discadj_fea) ################################### ### Coupled FSI Adjoint ### ################################### # Structural model discadj_fsi = TestCase('discadj_fsi') discadj_fsi.cfg_dir = "disc_adj_fsi" discadj_fsi.cfg_file = "configAD_fsi.cfg" discadj_fsi.test_iter = 3000 discadj_fsi.test_vals = [0.958848,-0.157183,0.658415,1.302076] #last 4 columns discadj_fsi.su2_exec = "parallel_computation.py -f" discadj_fsi.timeout = 1600 discadj_fsi.tol = 0.00001 test_list.append(discadj_fsi) ###################################### ### RUN TESTS ### ###################################### pass_list = [ test.run_test() for test in test_list ] # Tests summary print('==================================================================') print('Summary of the parallel tests') print('python version:', sys.version) for i, test in enumerate(test_list): if (pass_list[i]): print(' passed - %s'%test.tag) else: print('* FAILED - %s'%test.tag) if all(pass_list): sys.exit(0) else: sys.exit(1)
def main(): '''This program runs SU2 and ensures that the output matches specified values. This will be used to do checks when code is pushed to github to make sure nothing is broken. ''' test_list = [] ##################################### ### Disc. adj. compressible Euler ### ##################################### # Inviscid NACA0012 discadj_naca0012 = TestCase('discadj_naca0012') discadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" discadj_naca0012.cfg_file = "inv_NACA0012_discadj.cfg" discadj_naca0012.test_iter = 100 discadj_naca0012.test_vals = [ -3.606839, -9.035212, -3.3386e-07, 1.8777e-01 ] #last 4 columns discadj_naca0012.su2_exec = "SU2_CFD_AD" discadj_naca0012.timeout = 1600 discadj_naca0012.tol = 0.00001 test_list.append(discadj_naca0012) ####################################################### ### Disc. adj. compressible RANS ### ####################################################### # Adjoint turbulent NACA0012 SA discadj_rans_naca0012_sa = TestCase('discadj_rans_naca0012_sa') discadj_rans_naca0012_sa.cfg_dir = "disc_adj_rans/naca0012" discadj_rans_naca0012_sa.cfg_file = "turb_NACA0012_sa.cfg" discadj_rans_naca0012_sa.test_iter = 10 discadj_rans_naca0012_sa.test_vals = [ -1.751947, 0.485758, 0.181440, -0.385110 ] #last 4 columns discadj_rans_naca0012_sa.su2_exec = "SU2_CFD_AD" discadj_rans_naca0012_sa.timeout = 1600 discadj_rans_naca0012_sa.tol = 0.00001 test_list.append(discadj_rans_naca0012_sa) # Adjoint turbulent NACA0012 SST discadj_rans_naca0012_sst = TestCase('discadj_rans_naca0012_sst') discadj_rans_naca0012_sst.cfg_dir = "disc_adj_rans/naca0012" discadj_rans_naca0012_sst.cfg_file = "turb_NACA0012_sst.cfg" discadj_rans_naca0012_sst.test_iter = 10 discadj_rans_naca0012_sst.test_vals = [ -1.658568, -0.487694, 8.7557e-02, -5.3701e-01 ] #last 4 columns discadj_rans_naca0012_sst.su2_exec = "SU2_CFD_AD" discadj_rans_naca0012_sst.timeout = 1600 discadj_rans_naca0012_sst.tol = 0.00001 test_list.append(discadj_rans_naca0012_sst) ###################################### ### RUN TESTS ### ###################################### pass_list = [test.run_test() for test in test_list] # Tests summary print '==================================================================' print 'Summary of the serial tests' for i, test in enumerate(test_list): if (pass_list[i]): print ' passed - %s' % test.tag else: print '* FAILED - %s' % test.tag if all(pass_list): sys.exit(0) else: sys.exit(1)
def main(): """This program runs SU2 and ensures that the output matches specified values. This will be used to do checks when code is pushed to github to make sure nothing is broken. """ test_list = [] ########################## ### Compressible Euler ### ########################## # Channel channel = TestCase("channel") channel.cfg_dir = "euler/channel" channel.cfg_file = "inv_channel_RK.cfg" channel.test_iter = 100 channel.test_vals = [-3.071007, 2.301191, 0.008562, 0.028922] # last 4 columns channel.su2_exec = "parallel_computation.py -f" channel.timeout = 1600 channel.tol = 0.00001 test_list.append(channel) # NACA0012 naca0012 = TestCase("naca0012") naca0012.cfg_dir = "euler/naca0012" naca0012.cfg_file = "inv_NACA0012_Roe.cfg" naca0012.test_iter = 100 naca0012.test_vals = [-6.237188, -5.641250, 0.334843, 0.022206] # last 4 columns naca0012.su2_exec = "parallel_computation.py -f" naca0012.timeout = 1600 naca0012.tol = 0.00001 test_list.append(naca0012) # Supersonic wedge wedge = TestCase("wedge") wedge.cfg_dir = "euler/wedge" wedge.cfg_file = "inv_wedge_HLLC.cfg" wedge.test_iter = 100 wedge.test_vals = [-1.690232, 3.924432, -0.252221, 0.044419] # last 4 columns wedge.su2_exec = "parallel_computation.py -f" wedge.timeout = 1600 wedge.tol = 0.00001 test_list.append(wedge) # ONERA M6 Wing oneram6 = TestCase("oneram6") oneram6.cfg_dir = "euler/oneram6" oneram6.cfg_file = "inv_ONERAM6.cfg" oneram6.test_iter = 10 oneram6.test_vals = [-13.400678, -12.932056, 0.282557, 0.012706] # last 4 columns oneram6.su2_exec = "parallel_computation.py -f" oneram6.timeout = 3200 oneram6.tol = 0.00001 test_list.append(oneram6) ########################## ### Compressible N-S ### ########################## # Laminar flat plate flatplate = TestCase("flatplate") flatplate.cfg_dir = "navierstokes/flatplate" flatplate.cfg_file = "lam_flatplate.cfg" flatplate.test_iter = 100 flatplate.test_vals = [-5.231727, 0.261637, -0.166869, 0.012707] # last 4 columns flatplate.su2_exec = "parallel_computation.py -f" flatplate.timeout = 1600 flatplate.tol = 0.00001 test_list.append(flatplate) # Laminar cylinder (steady) cylinder = TestCase("cylinder") cylinder.cfg_dir = "navierstokes/cylinder" cylinder.cfg_file = "lam_cylinder.cfg" cylinder.test_iter = 25 cylinder.test_vals = [-6.757291, -1.289309, -0.125948, 0.625438] # last 4 columns cylinder.su2_exec = "parallel_computation.py -f" cylinder.timeout = 1600 cylinder.tol = 0.00001 test_list.append(cylinder) # Laminar cylinder (low Mach correction) cylinder_lowmach = TestCase("cylinder_lowmach") cylinder_lowmach.cfg_dir = "navierstokes/cylinder" cylinder_lowmach.cfg_file = "cylinder_lowmach.cfg" cylinder_lowmach.test_iter = 25 cylinder_lowmach.test_vals = [-6.861860, -1.399846, -1.557250, 110.230719] # last 4 columns cylinder_lowmach.su2_exec = "parallel_computation.py -f" cylinder_lowmach.timeout = 1600 cylinder_lowmach.tol = 0.00001 test_list.append(cylinder_lowmach) ########################## ### Compressible RANS ### ########################## # RAE2822 SA rae2822_sa = TestCase("rae2822_sa") rae2822_sa.cfg_dir = "rans/rae2822" rae2822_sa.cfg_file = "turb_SA_RAE2822.cfg" rae2822_sa.test_iter = 100 rae2822_sa.test_vals = [-3.647743, -5.442583, 0.903159, 0.025800] # last 4 columns rae2822_sa.su2_exec = "parallel_computation.py -f" rae2822_sa.timeout = 1600 rae2822_sa.tol = 0.00001 test_list.append(rae2822_sa) # RAE2822 SST rae2822_sst = TestCase("rae2822_sst") rae2822_sst.cfg_dir = "rans/rae2822" rae2822_sst.cfg_file = "turb_SST_RAE2822.cfg" rae2822_sst.test_iter = 100 rae2822_sst.test_vals = [-1.198777, 4.013989, 0.904265, 0.025941] # last 4 columns rae2822_sst.su2_exec = "parallel_computation.py -f" rae2822_sst.timeout = 1600 rae2822_sst.tol = 0.00001 test_list.append(rae2822_sst) # Flat plate turb_flatplate = TestCase("turb_flatplate") turb_flatplate.cfg_dir = "rans/flatplate" turb_flatplate.cfg_file = "turb_SA_flatplate.cfg" turb_flatplate.test_iter = 100 turb_flatplate.test_vals = [-5.071289, -7.366446, -0.187145, 0.010957] # last 4 columns turb_flatplate.su2_exec = "parallel_computation.py -f" turb_flatplate.timeout = 1600 turb_flatplate.tol = 0.00001 test_list.append(turb_flatplate) # ONERA M6 Wing turb_oneram6 = TestCase("turb_oneram6") turb_oneram6.cfg_dir = "rans/oneram6" turb_oneram6.cfg_file = "turb_ONERAM6.cfg" turb_oneram6.test_iter = 10 turb_oneram6.test_vals = [-2.327509, -6.563372, 0.230438, 0.155815] # last 4 columns turb_oneram6.su2_exec = "parallel_computation.py -f" turb_oneram6.timeout = 3200 turb_oneram6.tol = 0.00001 test_list.append(turb_oneram6) # NACA0012 (SA, FUN3D finest grid results: CL=1.0983, CD=0.01242) turb_naca0012_sa = TestCase("turb_naca0012_sa") turb_naca0012_sa.cfg_dir = "rans/naca0012" turb_naca0012_sa.cfg_file = "turb_NACA0012_sa.cfg" turb_naca0012_sa.test_iter = 10 turb_naca0012_sa.test_vals = [-12.000764, -9.145363, 1.070528, 0.019417] # last 4 columns turb_naca0012_sa.su2_exec = "parallel_computation.py -f" turb_naca0012_sa.timeout = 3200 turb_naca0012_sa.tol = 0.00001 test_list.append(turb_naca0012_sa) # NACA0012 (SST, FUN3D finest grid results: CL=1.0840, CD=0.01253) turb_naca0012_sst = TestCase("turb_naca0012_sst") turb_naca0012_sst.cfg_dir = "rans/naca0012" turb_naca0012_sst.cfg_file = "turb_NACA0012_sst.cfg" turb_naca0012_sst.test_iter = 10 turb_naca0012_sst.test_vals = [-15.039645, -7.220177, 1.059622, 0.019138] # last 4 columns turb_naca0012_sst.su2_exec = "parallel_computation.py -f" turb_naca0012_sst.timeout = 3200 turb_naca0012_sst.tol = 0.00001 test_list.append(turb_naca0012_sst) ############################ ### Incompressible RANS ### ############################ # NACA0012 inc_turb_naca0012 = TestCase("inc_turb_naca0012") inc_turb_naca0012.cfg_dir = "incomp_rans/naca0012" inc_turb_naca0012.cfg_file = "naca0012.cfg" inc_turb_naca0012.test_iter = 20 inc_turb_naca0012.test_vals = [-4.710048, -11.007498, 0.000002, 0.210441] # last 4 columns inc_turb_naca0012.su2_exec = "parallel_computation.py -f" inc_turb_naca0012.timeout = 1600 inc_turb_naca0012.tol = 0.00001 test_list.append(inc_turb_naca0012) ##################################### ### Cont. adj. compressible Euler ### ##################################### # Inviscid NACA0012 contadj_naca0012 = TestCase("contadj_naca0012") contadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" contadj_naca0012.cfg_file = "inv_NACA0012.cfg" contadj_naca0012.test_iter = 5 contadj_naca0012.test_vals = [-9.783712, -15.192812, 0.300920, 0.536870] # last 4 columns contadj_naca0012.su2_exec = "parallel_computation.py -f" contadj_naca0012.timeout = 1600 contadj_naca0012.tol = 0.00001 test_list.append(contadj_naca0012) # Inviscid ONERA M6 contadj_oneram6 = TestCase("contadj_oneram6") contadj_oneram6.cfg_dir = "cont_adj_euler/oneram6" contadj_oneram6.cfg_file = "inv_ONERAM6.cfg" contadj_oneram6.test_iter = 10 contadj_oneram6.test_vals = [-12.131587, -12.703243, 0.685900, 0.140920] # last 4 columns contadj_oneram6.su2_exec = "parallel_computation.py -f" contadj_oneram6.timeout = 1600 contadj_oneram6.tol = 0.00001 test_list.append(contadj_oneram6) # Inviscid WEDGE: generalized adjoint and custom DV contadj_wedge = TestCase("contadj_wedge") contadj_wedge.cfg_dir = "cont_adj_euler/wedge" contadj_wedge.cfg_file = "inv_wedge_ROE.cfg" contadj_wedge.test_iter = 10 contadj_wedge.test_vals = [-7.364977, -13.301134, 0.000266, 0.000000] # last 4 columns contadj_wedge.su2_exec = "parallel_computation.py -f" contadj_wedge.timeout = 1600 contadj_wedge.tol = 0.00001 test_list.append(contadj_wedge) ################################### ### Cont. adj. compressible N-S ### ################################### # Adjoint laminar cylinder contadj_ns_cylinder = TestCase("contadj_ns_cylinder") contadj_ns_cylinder.cfg_dir = "cont_adj_navierstokes/cylinder" contadj_ns_cylinder.cfg_file = "lam_cylinder.cfg" contadj_ns_cylinder.test_iter = 100 contadj_ns_cylinder.test_vals = [-3.659040, -9.117773, 2.056700, 4.497000] # last 4 columns contadj_ns_cylinder.su2_exec = "parallel_computation.py -f" contadj_ns_cylinder.timeout = 1600 contadj_ns_cylinder.tol = 0.00001 test_list.append(contadj_ns_cylinder) # Adjoint laminar naca0012 subsonic contadj_ns_naca0012_sub = TestCase("contadj_ns_naca0012_sub") contadj_ns_naca0012_sub.cfg_dir = "cont_adj_navierstokes/naca0012_sub" contadj_ns_naca0012_sub.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_sub.test_iter = 100 contadj_ns_naca0012_sub.test_vals = [-2.744551, -8.216469, 0.518810, 0.229160] # last 4 columns contadj_ns_naca0012_sub.su2_exec = "parallel_computation.py -f" contadj_ns_naca0012_sub.timeout = 1600 contadj_ns_naca0012_sub.tol = 0.00001 test_list.append(contadj_ns_naca0012_sub) # Adjoint laminar naca0012 transonic contadj_ns_naca0012_trans = TestCase("contadj_ns_naca0012_trans") contadj_ns_naca0012_trans.cfg_dir = "cont_adj_navierstokes/naca0012_trans" contadj_ns_naca0012_trans.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_trans.test_iter = 100 contadj_ns_naca0012_trans.test_vals = [-1.041539, -6.578524, 1.772300, 0.620880] # last 4 columns contadj_ns_naca0012_trans.su2_exec = "parallel_computation.py -f" contadj_ns_naca0012_trans.timeout = 1600 contadj_ns_naca0012_trans.tol = 0.00001 test_list.append(contadj_ns_naca0012_trans) ####################################################### ### Cont. adj. compressible RANS (frozen viscosity) ### ####################################################### # Adjoint turbulent NACA0012 contadj_rans_naca0012 = TestCase("contadj_rans_naca0012") contadj_rans_naca0012.cfg_dir = "cont_adj_rans/naca0012" contadj_rans_naca0012.cfg_file = "turb_nasa.cfg" contadj_rans_naca0012.test_iter = 100 contadj_rans_naca0012.test_vals = [-0.814757, -5.726517, 19.169000, -2.994100] # last 4 columns contadj_rans_naca0012.su2_exec = "parallel_computation.py -f" contadj_rans_naca0012.timeout = 1600 contadj_rans_naca0012.tol = 0.00001 test_list.append(contadj_rans_naca0012) # Adjoint turbulent RAE2822 contadj_rans_rae2822 = TestCase("contadj_rans_rae822") contadj_rans_rae2822.cfg_dir = "cont_adj_rans/rae2822" contadj_rans_rae2822.cfg_file = "turb_SA_RAE2822.cfg" contadj_rans_rae2822.test_iter = 100 contadj_rans_rae2822.test_vals = [-5.380929, -10.886092, -0.212470, 0.269390] # last 4 columns contadj_rans_rae2822.su2_exec = "parallel_computation.py -f" contadj_rans_rae2822.timeout = 1600 contadj_rans_rae2822.tol = 0.00001 test_list.append(contadj_rans_rae2822) ####################################### ### Cont. adj. incompressible Euler ### ####################################### # Adjoint Incompressible Inviscid NACA0012 contadj_incomp_NACA0012 = TestCase("contadj_incomp_NACA0012") contadj_incomp_NACA0012.cfg_dir = "cont_adj_incomp_euler/naca0012" contadj_incomp_NACA0012.cfg_file = "incomp_NACA0012.cfg" contadj_incomp_NACA0012.test_iter = 5 contadj_incomp_NACA0012.test_vals = [-11.968536, -12.133235, 1.939900, 0.000000] # last 4 columns contadj_incomp_NACA0012.su2_exec = "parallel_computation.py -f" contadj_incomp_NACA0012.timeout = 1600 contadj_incomp_NACA0012.tol = 0.00001 test_list.append(contadj_incomp_NACA0012) ##################################### ### Cont. adj. incompressible N-S ### ##################################### # Adjoint Incompressible Viscous Cylinder contadj_incomp_cylinder = TestCase("contadj_incomp_cylinder") contadj_incomp_cylinder.cfg_dir = "cont_adj_incomp_navierstokes/cylinder" contadj_incomp_cylinder.cfg_file = "lam_incomp_cylinder.cfg" contadj_incomp_cylinder.test_iter = 25 contadj_incomp_cylinder.test_vals = [-5.718840, -7.012324, 2.932100, 0.000000] # last 4 columns contadj_incomp_cylinder.su2_exec = "parallel_computation.py -f" contadj_incomp_cylinder.timeout = 1600 contadj_incomp_cylinder.tol = 0.00001 test_list.append(contadj_incomp_cylinder) ###################################### ### Moving Wall ### ###################################### # Lid-driven cavity cavity = TestCase("cavity") cavity.cfg_dir = "moving_wall/cavity" cavity.cfg_file = "lam_cavity.cfg" cavity.test_iter = 25 cavity.test_vals = [-5.597018, -0.133158, 0.169034, 0.821371] # last 4 columns cavity.su2_exec = "parallel_computation.py -f" cavity.timeout = 1600 cavity.tol = 0.00001 test_list.append(cavity) # Spinning cylinder spinning_cylinder = TestCase("spinning_cylinder") spinning_cylinder.cfg_dir = "moving_wall/spinning_cylinder" spinning_cylinder.cfg_file = "spinning_cylinder.cfg" spinning_cylinder.test_iter = 25 spinning_cylinder.test_vals = [-7.648320, -2.202753, 1.236836, 1.609040] # last 4 columns spinning_cylinder.su2_exec = "parallel_computation.py -f" spinning_cylinder.timeout = 1600 spinning_cylinder.tol = 0.00001 test_list.append(spinning_cylinder) ###################################### ### Unsteady ### ###################################### # Square cylinder square_cylinder = TestCase("square_cylinder") square_cylinder.cfg_dir = "unsteady/square_cylinder" square_cylinder.cfg_file = "turb_square.cfg" square_cylinder.test_iter = 3 square_cylinder.test_vals = [-1.166422, 0.076751, 1.398549, 2.197047] # last 4 columns square_cylinder.su2_exec = "parallel_computation.py -f" square_cylinder.timeout = 1600 square_cylinder.tol = 0.00001 square_cylinder.unsteady = True test_list.append(square_cylinder) # Gust sine_gust = TestCase("sine_gust") sine_gust.cfg_dir = "gust" sine_gust.cfg_file = "inv_gust_NACA0012.cfg" sine_gust.test_iter = 5 sine_gust.test_vals = [-1.977531, 3.481790, -0.014552, -0.004969] # last 4 columns sine_gust.su2_exec = "parallel_computation.py -f" sine_gust.timeout = 1600 sine_gust.tol = 0.00001 sine_gust.unsteady = True test_list.append(sine_gust) # Aeroelastic aeroelastic = TestCase("aeroelastic") aeroelastic.cfg_dir = "aeroelastic" aeroelastic.cfg_file = "aeroelastic_NACA64A010.cfg" aeroelastic.test_iter = 2 aeroelastic.test_vals = [0.077169, 0.036452, -0.001685, -0.000113] # last 4 columns aeroelastic.su2_exec = "parallel_computation.py -f" aeroelastic.timeout = 1600 aeroelastic.tol = 0.000001 aeroelastic.unsteady = True test_list.append(aeroelastic) ###################################### ### NICFD ### ###################################### # Rarefaction shock wave edge_VW edge_VW = TestCase("edge_VW") edge_VW.cfg_dir = "nicf/edge" edge_VW.cfg_file = "edge_VW.cfg" edge_VW.test_iter = 100 edge_VW.test_vals = [-5.058481, 1.115321, -0.000009, 0.000000] # last 4 columns edge_VW.su2_exec = "parallel_computation.py -f" edge_VW.timeout = 1600 edge_VW.tol = 0.00001 test_list.append(edge_VW) # Rarefaction shock wave edge_PPR edge_PPR = TestCase("edge_PPR") edge_PPR.cfg_dir = "nicf/edge" edge_PPR.cfg_file = "edge_PPR.cfg" edge_PPR.test_iter = 100 edge_PPR.test_vals = [-5.486409, 0.654417, -0.000037, 0.000000] # last 4 columns edge_PPR.su2_exec = "parallel_computation.py -f" edge_PPR.timeout = 1600 edge_PPR.tol = 0.00001 test_list.append(edge_PPR) ########################## ### FEA - FSI ### ########################## # Static beam, 3d statbeam3d = TestCase("statbeam3d") statbeam3d.cfg_dir = "fea_fsi/StatBeam_3d" statbeam3d.cfg_file = "configBeam_3d.cfg" statbeam3d.test_iter = 0 statbeam3d.test_vals = [-8.520066, -8.069308, -8.062384, 64095.000000] # last 4 columns statbeam3d.su2_exec = "parallel_computation_fsi.py -f" statbeam3d.timeout = 1600 statbeam3d.tol = 0.00001 test_list.append(statbeam3d) # Dynamic beam, 2d dynbeam2d = TestCase("dynbeam2d") dynbeam2d.cfg_dir = "fea_fsi/DynBeam_2d" dynbeam2d.cfg_file = "configBeam_2d.cfg" dynbeam2d.test_iter = 6 dynbeam2d.test_vals = [-9.420641, -5.365871, -12.430382, 6.5210e04] # last 4 columns dynbeam2d.su2_exec = "parallel_computation_fsi.py -f" dynbeam2d.timeout = 1600 dynbeam2d.tol = 0.00001 test_list.append(dynbeam2d) # FSI, 2d fsi2d = TestCase("fsi2d") fsi2d.cfg_dir = "fea_fsi/WallChannel_2d" fsi2d.cfg_file = "configFSI_2D.cfg" fsi2d.test_iter = 4 fsi2d.test_vals = [2.000000, 0.500000, -7.777910, -1.139830] # last 4 columns fsi2d.su2_exec = "parallel_computation_fsi.py -f" fsi2d.timeout = 1600 fsi2d.tol = 0.00001 test_list.append(fsi2d) ###################################### ### RUN TESTS ### ###################################### pass_list = [test.run_test() for test in test_list] ###################################### ### RUN SU2_DEF TESTS ### ###################################### # Inviscid NACA0012 (triangles) naca0012_def = TestCase("naca0012_def") naca0012_def.cfg_dir = "deformation/naca0012" naca0012_def.cfg_file = "def_NACA0012.cfg" naca0012_def.test_iter = 250 naca0012_def.test_vals = [5.44754e-15] # residual naca0012_def.su2_exec = "mpirun -n 2 SU2_DEF" naca0012_def.timeout = 1600 naca0012_def.tol = 1e-15 pass_list.append(naca0012_def.run_def()) test_list.append(naca0012_def) # RAE2822 (mixed tris + quads) rae2822_def = TestCase("rae2822_def") rae2822_def.cfg_dir = "deformation/rae2822" rae2822_def.cfg_file = "def_RAE2822.cfg" rae2822_def.test_iter = 150 rae2822_def.test_vals = [1.47076e-15] # residual rae2822_def.su2_exec = "mpirun -n 2 SU2_DEF" rae2822_def.timeout = 1600 rae2822_def.tol = 1e-16 pass_list.append(rae2822_def.run_def()) test_list.append(rae2822_def) # Turb NACA4412 (quads, wall distance) naca4412_def = TestCase("naca4412_def") naca4412_def.cfg_dir = "deformation/naca4412" naca4412_def.cfg_file = "def_NACA4412.cfg" naca4412_def.test_iter = 300 naca4412_def.test_vals = [4.46129e-15] # residual naca4412_def.su2_exec = "mpirun -n 2 SU2_DEF" naca4412_def.timeout = 1600 naca4412_def.tol = 1e-15 pass_list.append(naca4412_def.run_def()) test_list.append(naca4412_def) # Brick of tets (inverse volume) brick_tets_def = TestCase("brick_tets_def") brick_tets_def.cfg_dir = "deformation/brick_tets" brick_tets_def.cfg_file = "def_brick_tets.cfg" brick_tets_def.test_iter = 1000 brick_tets_def.test_vals = [9.35558e-16] # residual brick_tets_def.su2_exec = "mpirun -n 2 SU2_DEF" brick_tets_def.timeout = 1600 brick_tets_def.tol = 1e-15 pass_list.append(brick_tets_def.run_def()) test_list.append(brick_tets_def) # Brick of isotropic hexas (inverse volume) brick_hex_def = TestCase("brick_hex_def") brick_hex_def.cfg_dir = "deformation/brick_hex" brick_hex_def.cfg_file = "def_brick_hex.cfg" brick_hex_def.test_iter = 1000 brick_hex_def.test_vals = [1.46423e-15] # residual brick_hex_def.su2_exec = "mpirun -n 2 SU2_DEF" brick_hex_def.timeout = 1600 brick_hex_def.tol = 1e-15 pass_list.append(brick_hex_def.run_def()) test_list.append(brick_hex_def) # Brick with a pyramid layer (inverse volume) brick_pyra_def = TestCase("brick_pyra_def") brick_pyra_def.cfg_dir = "deformation/brick_pyra" brick_pyra_def.cfg_file = "def_brick_pyra.cfg" brick_pyra_def.test_iter = 100 brick_pyra_def.test_vals = [5.97202e-15] # residual brick_pyra_def.su2_exec = "mpirun -n 2 SU2_DEF" brick_pyra_def.timeout = 1600 brick_pyra_def.tol = 1e-15 pass_list.append(brick_pyra_def.run_def()) test_list.append(brick_pyra_def) # Brick of isotropic prisms (inverse volume) brick_prism_def = TestCase("brick_prism_def") brick_prism_def.cfg_dir = "deformation/brick_prism" brick_prism_def.cfg_file = "def_brick_prism.cfg" brick_prism_def.test_iter = 100 brick_prism_def.test_vals = [2.80867e-14] # residual brick_prism_def.su2_exec = "mpirun -n 2 SU2_DEF" brick_prism_def.timeout = 1600 brick_prism_def.tol = 1e-15 pass_list.append(brick_prism_def.run_def()) test_list.append(brick_prism_def) # Brick of prisms with high aspect ratio cells near the wall (wall distance) brick_prism_rans_def = TestCase("brick_prism_rans_def") brick_prism_rans_def.cfg_dir = "deformation/brick_prism_rans" brick_prism_rans_def.cfg_file = "def_brick_prism_rans.cfg" brick_prism_rans_def.test_iter = 50 brick_prism_rans_def.test_vals = [3.5265e-15] # residual brick_prism_rans_def.su2_exec = "mpirun -n 2 SU2_DEF" brick_prism_rans_def.timeout = 1600 brick_prism_rans_def.tol = 1e-15 pass_list.append(brick_prism_rans_def.run_def()) test_list.append(brick_prism_rans_def) # Brick of hexas with high aspect ratio cells near the wall (inverse volume) brick_hex_rans_def = TestCase("brick_hex_rans_def") brick_hex_rans_def.cfg_dir = "deformation/brick_hex_rans" brick_hex_rans_def.cfg_file = "def_brick_hex_rans.cfg" brick_hex_rans_def.test_iter = 600 brick_hex_rans_def.test_vals = [2.75292e-14] # residual brick_hex_rans_def.su2_exec = "mpirun -n 2 SU2_DEF" brick_hex_rans_def.timeout = 1600 brick_hex_rans_def.tol = 1e-16 pass_list.append(brick_hex_rans_def.run_def()) test_list.append(brick_hex_rans_def) # Tests summary print "==================================================================" print "Summary of the parallel tests" for i, test in enumerate(test_list): if pass_list[i]: print " passed - %s" % test.tag else: print "* FAILED - %s" % test.tag if all(pass_list): sys.exit(0) else: sys.exit(1)
def __init__(self): TestCase.__init__(self, "VSWR Tune Test") #moved this into the test #self.loadSetter = LoadControl(Config.LOAD_DEVICE) self.freq = FrequencyControl(Config.FREQ_DEVICE)
def testThatEvenMoreFilesAreExcluded(self): expectedOutput = \ self.getBaseDir() + """CgrepTest/a.html:1:needle """ self._CfgrepTest1("needle", "needle", expectedOutput) def _CfgrepTest1(self, actualNeedle, searchNeedle, expectedOutput, extraParameters=""): os.system("rm -rf CgrepTest") os.mkdir("CgrepTest") os.system("echo %s > CgrepTest/a.html"% actualNeedle) # Will list this file os.mkdir("CgrepTest/vehicles") os.system("echo %s > CgrepTest/vehicles/a"% actualNeedle) os.mkdir("CgrepTest/states") os.system("echo %s > CgrepTest/states/a"% actualNeedle) os.mkdir("CgrepTest/states2") os.system("echo %s > CgrepTest/states2/a"% actualNeedle) command = "~/svn/devscripts/bin/%s %s %s %s"% (self.getCommand(), searchNeedle, self.myTestDir, extraParameters) procHandle = os.popen(command) output = procHandle.read() os.system("rm -rf CgrepTest") self.myAssertEqual(expectedOutput, output) def getCommand(self): return "cfgrep" if __name__ == "__main__": TestCase.main()
def main(): '''This program runs SU2 and ensures that the output matches specified values. This will be used to do checks when code is pushed to github to make sure nothing is broken. ''' test_list = [] ##################################### ### Disc. adj. compressible Euler ### ##################################### # Inviscid NACA0012 discadj_naca0012 = TestCase('discadj_naca0012') discadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" discadj_naca0012.cfg_file = "inv_NACA0012_discadj.cfg" discadj_naca0012.test_iter = 100 discadj_naca0012.test_vals = [-3.559002, -8.926022, -0.000000, 0.005588] #last 4 columns discadj_naca0012.su2_exec = "parallel_computation.py -f" discadj_naca0012.timeout = 1600 discadj_naca0012.tol = 0.00001 test_list.append(discadj_naca0012) # Inviscid Cylinder 3D (multiple markers) discadj_cylinder3D = TestCase('discadj_cylinder3D') discadj_cylinder3D.cfg_dir = "disc_adj_euler/cylinder3D" discadj_cylinder3D.cfg_file = "inv_cylinder3D.cfg" discadj_cylinder3D.test_iter = 5 discadj_cylinder3D.test_vals = [-3.724803, -3.838647, 0.000000, 0.000000] #last 4 columns discadj_cylinder3D.su2_exec = "parallel_computation.py -f" discadj_cylinder3D.timeout = 1600 discadj_cylinder3D.tol = 0.00001 test_list.append(discadj_cylinder3D) # Arina nozzle 2D discadj_arina2k = TestCase('discadj_arina2k') discadj_arina2k.cfg_dir = "disc_adj_euler/arina2k" discadj_arina2k.cfg_file = "Arina2KRS.cfg" discadj_arina2k.test_iter = 20 discadj_arina2k.test_vals = [2.438813, 1.976484, 47258.000000, 0.000000] #last 4 columns discadj_arina2k.su2_exec = "parallel_computation.py -f" discadj_arina2k.timeout = 8400 discadj_arina2k.tol = 0.00001 test_list.append(discadj_arina2k) #################################### ### Disc. adj. compressible RANS ### #################################### # Adjoint turbulent NACA0012 SA discadj_rans_naca0012_sa = TestCase('discadj_rans_naca0012_sa') discadj_rans_naca0012_sa.cfg_dir = "disc_adj_rans/naca0012" discadj_rans_naca0012_sa.cfg_file = "turb_NACA0012_sa.cfg" discadj_rans_naca0012_sa.test_iter = 10 discadj_rans_naca0012_sa.test_vals = [-2.230578, 0.678810, 0.181780, -0.000018] #last 4 columns discadj_rans_naca0012_sa.su2_exec = "parallel_computation.py -f" discadj_rans_naca0012_sa.timeout = 1600 discadj_rans_naca0012_sa.tol = 0.00001 test_list.append(discadj_rans_naca0012_sa) # Adjoint turbulent NACA0012 SST discadj_rans_naca0012_sst = TestCase('discadj_rans_naca0012_sst') discadj_rans_naca0012_sst.cfg_dir = "disc_adj_rans/naca0012" discadj_rans_naca0012_sst.cfg_file = "turb_NACA0012_sst.cfg" discadj_rans_naca0012_sst.test_iter = 10 discadj_rans_naca0012_sst.test_vals = [-2.223209, -0.496681, 0.154390, -0.000022] #last 4 columns discadj_rans_naca0012_sst.su2_exec = "parallel_computation.py -f" discadj_rans_naca0012_sst.timeout = 1600 discadj_rans_naca0012_sst.tol = 0.00001 test_list.append(discadj_rans_naca0012_sst) ####################################### ### Disc. adj. incompressible Euler ### ####################################### # Adjoint Incompressible Inviscid NACA0012 discadj_incomp_NACA0012 = TestCase('discadj_incomp_NACA0012') discadj_incomp_NACA0012.cfg_dir = "disc_adj_incomp_euler/naca0012" discadj_incomp_NACA0012.cfg_file = "incomp_NACA0012_disc.cfg" discadj_incomp_NACA0012.test_iter = 20 discadj_incomp_NACA0012.test_vals = [20.000000, -3.566362, -2.541739, 0.000000] #last 4 columns discadj_incomp_NACA0012.su2_exec = "parallel_computation.py -f" discadj_incomp_NACA0012.timeout = 1600 discadj_incomp_NACA0012.tol = 0.00001 test_list.append(discadj_incomp_NACA0012) ##################################### ### Disc. adj. incompressible N-S ### ##################################### # Adjoint Incompressible Viscous Cylinder (Heated) discadj_incomp_cylinder = TestCase('discadj_incomp_cylinder') discadj_incomp_cylinder.cfg_dir = "disc_adj_incomp_navierstokes/cylinder" discadj_incomp_cylinder.cfg_file = "heated_cylinder.cfg" discadj_incomp_cylinder.test_iter = 20 discadj_incomp_cylinder.test_vals = [20.000000, -2.188743, -2.068616, 0.000000] #last 4 columns discadj_incomp_cylinder.su2_exec = "parallel_computation.py -f" discadj_incomp_cylinder.timeout = 1600 discadj_incomp_cylinder.tol = 0.00001 test_list.append(discadj_incomp_cylinder) ###################################### ### Disc. adj. incompressible RANS ### ###################################### # Adjoint Incompressible Turbulent NACA 0012 SA discadj_incomp_turb_NACA0012_sa = TestCase('discadj_incomp_turb_NACA0012_sa') discadj_incomp_turb_NACA0012_sa.cfg_dir = "disc_adj_incomp_rans/naca0012" discadj_incomp_turb_NACA0012_sa.cfg_file = "turb_naca0012_sa.cfg" discadj_incomp_turb_NACA0012_sa.test_iter = 10 discadj_incomp_turb_NACA0012_sa.test_vals = [10.000000, -3.846036, -1.031071, 0.000000] #last 4 columns discadj_incomp_turb_NACA0012_sa.su2_exec = "parallel_computation.py -f" discadj_incomp_turb_NACA0012_sa.timeout = 1600 discadj_incomp_turb_NACA0012_sa.tol = 0.00001 test_list.append(discadj_incomp_turb_NACA0012_sa) # Adjoint Incompressible Turbulent NACA 0012 SST discadj_incomp_turb_NACA0012_sst = TestCase('discadj_incomp_turb_NACA0012_sst') discadj_incomp_turb_NACA0012_sst.cfg_dir = "disc_adj_incomp_rans/naca0012" discadj_incomp_turb_NACA0012_sst.cfg_file = "turb_naca0012_sst.cfg" discadj_incomp_turb_NACA0012_sst.test_iter = 10 discadj_incomp_turb_NACA0012_sst.test_vals = [-3.845625, -2.413047, -8.419973, 0.000000] #last 4 columns discadj_incomp_turb_NACA0012_sst.su2_exec = "parallel_computation.py -f" discadj_incomp_turb_NACA0012_sst.timeout = 1600 discadj_incomp_turb_NACA0012_sst.tol = 0.00001 test_list.append(discadj_incomp_turb_NACA0012_sst) ####################################################### ### Unsteady Disc. adj. compressible RANS ### ####################################################### # Turbulent Cylinder discadj_cylinder = TestCase('unsteady_cylinder') discadj_cylinder.cfg_dir = "disc_adj_rans/cylinder" discadj_cylinder.cfg_file = "cylinder.cfg" discadj_cylinder.test_iter = 9 discadj_cylinder.test_vals = [3.746900, -1.544893, -8.3447e-03, 1.3808e-05] #last 4 columns discadj_cylinder.su2_exec = "parallel_computation.py -f" discadj_cylinder.timeout = 1600 discadj_cylinder.tol = 0.00001 discadj_cylinder.unsteady = True test_list.append(discadj_cylinder) ########################################################################## ### Unsteady Disc. adj. compressible RANS DualTimeStepping 1st order ### ########################################################################## # Turbulent Cylinder discadj_DT_1ST_cylinder = TestCase('unsteady_cylinder_DT_1ST') discadj_DT_1ST_cylinder.cfg_dir = "disc_adj_rans/cylinder_DT_1ST" discadj_DT_1ST_cylinder.cfg_file = "cylinder.cfg" discadj_DT_1ST_cylinder.test_iter = 9 discadj_DT_1ST_cylinder.test_vals = [3.698165, -1.607052, -2.2503e-03, 2.7212e-05] #last 4 columns discadj_DT_1ST_cylinder.su2_exec = "parallel_computation.py -f" discadj_DT_1ST_cylinder.timeout = 1600 discadj_DT_1ST_cylinder.tol = 0.00001 discadj_DT_1ST_cylinder.unsteady = True test_list.append(discadj_DT_1ST_cylinder) ###################################################### ### Unsteady Disc. adj. compressible pitching NACA ### ###################################################### # compressible pitching NACA0012 discadj_pitchingNACA0012 = TestCase('pitchingNACA0012') discadj_pitchingNACA0012.cfg_dir = "disc_adj_euler/naca0012_pitching" discadj_pitchingNACA0012.cfg_file = "inv_NACA0012_pitching.cfg" discadj_pitchingNACA0012.test_iter = 4 discadj_pitchingNACA0012.test_vals = [-1.091129, -1.545863, -0.037418, 0.000108] #last 4 columns discadj_pitchingNACA0012.su2_exec = "parallel_computation.py -f" discadj_pitchingNACA0012.timeout = 1600 discadj_pitchingNACA0012.tol = 0.00001 discadj_pitchingNACA0012.unsteady = True test_list.append(discadj_pitchingNACA0012) ####################################################### ### Disc. adj. turbomachinery ### ####################################################### # Transonic Stator 2D discadj_trans_stator = TestCase('transonic_stator') discadj_trans_stator.cfg_dir = "disc_adj_turbomachinery/transonic_stator_2D" discadj_trans_stator.cfg_file = "transonic_stator.cfg" discadj_trans_stator.test_iter = 79 discadj_trans_stator.test_vals = [79.000000, -1.927296, -1.401205] #last 4 columns discadj_trans_stator.su2_exec = "parallel_computation.py -f" discadj_trans_stator.timeout = 1600 discadj_trans_stator.tol = 0.00001 test_list.append(discadj_trans_stator) ################################### ### Structural Adjoint ### ################################### # Structural model discadj_fea = TestCase('discadj_fea') discadj_fea.cfg_dir = "disc_adj_fea" discadj_fea.cfg_file = "configAD_fem.cfg" discadj_fea.test_iter = 9 discadj_fea.test_vals = [-6.492475, -6.401201, -0.000364, -8.708700] #last 4 columns discadj_fea.su2_exec = "parallel_computation.py -f" discadj_fea.timeout = 1600 discadj_fea.tol = 0.00001 test_list.append(discadj_fea) ################################### ### Disc. adj. heat ### ################################### # Discrete adjoint for heated cylinder discadj_heat = TestCase('discadj_heat') discadj_heat.cfg_dir = "disc_adj_heat" discadj_heat.cfg_file = "disc_adj_heat.cfg" discadj_heat.test_iter = 10 discadj_heat.test_vals = [-2.281765, 0.706808, -0.743990, -6.866000] #last 4 columns discadj_heat.su2_exec = "parallel_computation.py -f" discadj_heat.timeout = 1600 discadj_heat.tol = 0.00001 test_list.append(discadj_heat) ################################### ### Coupled FSI Adjoint ### ################################### # Legacy driver discadj_fsi = TestCase('discadj_fsi') discadj_fsi.cfg_dir = "disc_adj_fsi" discadj_fsi.cfg_file = "config.cfg" discadj_fsi.test_iter = 3000 discadj_fsi.test_vals = [0.958848,-0.157601,2.726147,1.798362] #last 4 columns discadj_fsi.su2_exec = "mpirun -n 2 SU2_CFD_AD" discadj_fsi.timeout = 1600 discadj_fsi.tol = 0.00001 test_list.append(discadj_fsi) # Multi physics framework discadj_fsi2 = TestCase('discadj_fsi_airfoil') discadj_fsi2.cfg_dir = "disc_adj_fsi/Airfoil_2d" discadj_fsi2.cfg_file = "config.cfg" discadj_fsi2.test_iter = 8 discadj_fsi2.test_vals = [-5.070991, -2.5239e-13] #last 2 columns discadj_fsi2.su2_exec = "mpirun -n 2 SU2_CFD_AD" discadj_fsi2.timeout = 1600 discadj_fsi2.tol = 1e-16 test_list.append(discadj_fsi2) ################################### ### Coupled CHT Adjoint ### ################################### # Coupled discrete adjoint for heatflux in heated cylinder array discadj_cht = TestCase('discadj_cht') discadj_cht.cfg_dir = "coupled_cht/disc_adj_incomp_2d" discadj_cht.cfg_file = "cht_2d_3cylinders.cfg" discadj_cht.test_iter = 10 discadj_cht.test_vals = [-2.381654, -3.099873, -3.099844, -3.099841] #last 4 columns discadj_cht.su2_exec = "parallel_computation.py -f" discadj_cht.timeout = 1600 discadj_cht.tol = 0.00001 test_list.append(discadj_cht) ###################################### ### RUN TESTS ### ###################################### pass_list = [ test.run_test() for test in test_list ] ################################################## ### Structural Adjoint - Topology Optimization ### ################################################## # test discrete_adjoint.py discadj_topol_optim = TestCase('discadj_topol_optim') discadj_topol_optim.cfg_dir = "fea_topology" discadj_topol_optim.cfg_file = "config.cfg" discadj_topol_optim.test_iter = 0 discadj_topol_optim.su2_exec = "parallel_computation.py -f" discadj_topol_optim.timeout = 1600 discadj_topol_optim.reference_file = "grad_ref_node.dat.ref" discadj_topol_optim.test_file = "grad_ref_node.dat" pass_list.append(discadj_topol_optim.run_filediff()) test_list.append(discadj_topol_optim) # Tests summary print('==================================================================') print('Summary of the parallel tests') print('python version:', sys.version) for i, test in enumerate(test_list): if (pass_list[i]): print(' passed - %s'%test.tag) else: print('* FAILED - %s'%test.tag) if all(pass_list): sys.exit(0) else: sys.exit(1)
def __init__(self, name): self.wasRun = None TestCase.__init__(self, name)
def main(): '''This program runs SU^2 and ensures that the output matches specified values. This will be used to do nightly checks to make sure nothing is broken. ''' workdir = os.getcwd() # environment variables for SU2 os.environ[ 'SU2_HOME'] = '/home/ale11/.cruise/projects/serial_regression/work/SU2' os.environ[ 'SU2_RUN'] = '/home/ale11/.cruise/projects/serial_regression/work/SU2/bin' os.environ['PATH'] = os.environ['PATH'] + ':' + os.environ['SU2_RUN'] # sync SU2 repo os.chdir(os.environ['SU2_HOME']) os.system('git fetch') os.system('git checkout develop') os.system('git pull origin develop') # Build SU2_CFD in serial using autoconf os.system('./configure --prefix=$SU2_HOME CXXFLAGS="-O3"') os.system('make clean') os.system('make install') os.chdir(os.environ['SU2_RUN']) if not os.path.exists("./SU2_CFD"): print 'Could not build SU2_CFD' sys.exit(1) os.chdir(workdir) test_list = [] ########################## ### Compressible Euler ### ########################## # Channel channel = TestCase('channel') channel.cfg_dir = "euler/channel" channel.cfg_file = "inv_channel_RK.cfg" channel.test_iter = 100 channel.test_vals = [-3.110240, 2.263506, 0.008686, 0.029098] channel.su2_exec = "SU2_CFD" channel.timeout = 1600 channel.tol = 0.00001 test_list.append(channel) # NACA0012 naca0012 = TestCase('naca0012') naca0012.cfg_dir = "euler/naca0012" naca0012.cfg_file = "inv_NACA0012_Roe.cfg" naca0012.test_iter = 100 naca0012.test_vals = [-6.198537, -5.577721, 0.334810, 0.022197] naca0012.su2_exec = "SU2_CFD" naca0012.timeout = 1600 naca0012.tol = 0.00001 test_list.append(naca0012) # Supersonic wedge wedge = TestCase('wedge') wedge.cfg_dir = "euler/wedge" wedge.cfg_file = "inv_wedge_HLLC.cfg" wedge.test_iter = 100 wedge.test_vals = [-1.711318, 3.913749, -0.252131, 0.044402] wedge.su2_exec = "SU2_CFD" wedge.timeout = 1600 wedge.tol = 0.00001 test_list.append(wedge) # ONERA M6 Wing oneram6 = TestCase('oneram6') oneram6.cfg_dir = "euler/oneram6" oneram6.cfg_file = "inv_ONERAM6_JST.cfg" oneram6.test_iter = 10 oneram6.test_vals = [-4.715342, -4.148920, 0.271678, 0.018869] oneram6.su2_exec = "SU2_CFD" oneram6.timeout = 9600 oneram6.tol = 0.00001 test_list.append(oneram6) ########################## ### Compressible N-S ### ########################## # Laminar flat plate flatplate = TestCase('flatplate') flatplate.cfg_dir = "navierstokes/flatplate" flatplate.cfg_file = "lam_flatplate.cfg" flatplate.test_iter = 100 flatplate.test_vals = [-5.228462, 0.265581, -0.166503, 0.013013] flatplate.su2_exec = "SU2_CFD" flatplate.timeout = 1600 flatplate.tol = 0.00001 test_list.append(flatplate) # Laminar cylinder (steady) cylinder = TestCase('cylinder') cylinder.cfg_dir = "navierstokes/cylinder" cylinder.cfg_file = "lam_cylinder.cfg" cylinder.test_iter = 25 cylinder.test_vals = [-6.765426, -1.297422, 0.019501, 0.310134] cylinder.su2_exec = "SU2_CFD" cylinder.timeout = 1600 cylinder.tol = 0.00001 test_list.append(cylinder) ########################## ### Compressible RANS ### ########################## # RAE2822 SA rae2822_sa = TestCase('rae2822_sa') rae2822_sa.cfg_dir = "rans/rae2822" rae2822_sa.cfg_file = "turb_SA_RAE2822.cfg" rae2822_sa.test_iter = 100 rae2822_sa.test_vals = [-3.442525, -5.441383, 0.884279, 0.024730] #last 4 columns rae2822_sa.su2_exec = "SU2_CFD" rae2822_sa.timeout = 1600 rae2822_sa.tol = 0.00001 test_list.append(rae2822_sa) # RAE2822 SST rae2822_sst = TestCase('rae2822_sst') rae2822_sst.cfg_dir = "rans/rae2822" rae2822_sst.cfg_file = "turb_SST_RAE2822.cfg" rae2822_sst.test_iter = 100 rae2822_sst.test_vals = [-1.186943, 4.023140, 0.886788, 0.024927] #last 4 columns rae2822_sst.su2_exec = "SU2_CFD" rae2822_sst.timeout = 1600 rae2822_sst.tol = 0.00001 test_list.append(rae2822_sst) # Flat plate turb_flatplate = TestCase('turb_flatplate') turb_flatplate.cfg_dir = "rans/flatplate" turb_flatplate.cfg_file = "turb_SA_flatplate.cfg" turb_flatplate.test_iter = 100 turb_flatplate.test_vals = [-5.067553, -7.354291, -0.187192, 0.010831] #last 4 columns turb_flatplate.su2_exec = "SU2_CFD" turb_flatplate.timeout = 1600 turb_flatplate.tol = 0.00001 test_list.append(turb_flatplate) # ONERA M6 Wing turb_oneram6 = TestCase('turb_oneram6') turb_oneram6.cfg_dir = "rans/oneram6" turb_oneram6.cfg_file = "turb_ONERAM6.cfg" turb_oneram6.test_iter = 10 turb_oneram6.test_vals = [-2.327516, -6.563376, 0.230437, 0.155816] #last 4 columns turb_oneram6.su2_exec = "SU2_CFD" turb_oneram6.timeout = 3200 turb_oneram6.tol = 0.00001 test_list.append(turb_oneram6) # NACA0012 turb_naca0012 = TestCase('turb_naca0012') turb_naca0012.cfg_dir = "rans/naca0012" turb_naca0012.cfg_file = "turb_NACA0012.cfg" turb_naca0012.test_iter = 20 turb_naca0012.test_vals = [-2.826358, -7.364211, -0.000020, 0.803040] #last 4 columns turb_naca0012.su2_exec = "SU2_CFD" turb_naca0012.timeout = 3200 turb_naca0012.tol = 0.00001 test_list.append(turb_naca0012) ############################ ### Incompressible RANS ### ############################ # NACA0012 inc_turb_naca0012 = TestCase('inc_turb_naca0012') inc_turb_naca0012.cfg_dir = "incomp_rans/naca0012" inc_turb_naca0012.cfg_file = "naca0012.cfg" inc_turb_naca0012.test_iter = 20 inc_turb_naca0012.test_vals = [-4.710052, -11.007500, -0.000001, 0.210445] #last 4 columns inc_turb_naca0012.su2_exec = "SU2_CFD" inc_turb_naca0012.timeout = 1600 inc_turb_naca0012.tol = 0.00001 test_list.append(inc_turb_naca0012) ##################################### ### Cont. adj. compressible Euler ### ##################################### # Inviscid NACA0012 contadj_naca0012 = TestCase('contadj_naca0012') contadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" contadj_naca0012.cfg_file = "inv_NACA0012.cfg" contadj_naca0012.test_iter = 5 contadj_naca0012.test_vals = [-12.215877, -17.724135, 0.300920, 0.536870] #last 4 columns contadj_naca0012.su2_exec = "SU2_CFD" contadj_naca0012.timeout = 1600 contadj_naca0012.tol = 0.00001 test_list.append(contadj_naca0012) # Inviscid ONERA M6 contadj_oneram6 = TestCase('contadj_oneram6') contadj_oneram6.cfg_dir = "cont_adj_euler/oneram6" contadj_oneram6.cfg_file = "inv_ONERAM6.cfg" contadj_oneram6.test_iter = 5 contadj_oneram6.test_vals = [-6.354670, -6.530109, -0.133220, 0.147720] #last 4 columns contadj_oneram6.su2_exec = "SU2_CFD" contadj_oneram6.timeout = 1600 contadj_oneram6.tol = 0.00001 test_list.append(contadj_oneram6) ################################### ### Cont. adj. compressible N-S ### ################################### # Adjoint laminar cylinder contadj_ns_cylinder = TestCase('contadj_ns_cylinder') contadj_ns_cylinder.cfg_dir = "cont_adj_navierstokes/cylinder" contadj_ns_cylinder.cfg_file = "lam_cylinder.cfg" contadj_ns_cylinder.test_iter = 100 contadj_ns_cylinder.test_vals = [ -0.601729, -6.067386, -2.056900, 25.115000 ] #last 4 columns contadj_ns_cylinder.su2_exec = "SU2_CFD" contadj_ns_cylinder.timeout = 1600 contadj_ns_cylinder.tol = 0.00001 test_list.append(contadj_ns_cylinder) # Adjoint laminar naca0012 subsonic contadj_ns_naca0012_sub = TestCase('contadj_ns_naca0012_sub') contadj_ns_naca0012_sub.cfg_dir = "cont_adj_navierstokes/naca0012_sub" contadj_ns_naca0012_sub.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_sub.test_iter = 100 contadj_ns_naca0012_sub.test_vals = [ -4.234330, -9.705736, 0.516750, 0.398940 ] #last 4 columns contadj_ns_naca0012_sub.su2_exec = "SU2_CFD" contadj_ns_naca0012_sub.timeout = 1600 contadj_ns_naca0012_sub.tol = 0.00001 test_list.append(contadj_ns_naca0012_sub) # Adjoint laminar naca0012 transonic contadj_ns_naca0012_trans = TestCase('contadj_ns_naca0012_trans') contadj_ns_naca0012_trans.cfg_dir = "cont_adj_navierstokes/naca0012_trans" contadj_ns_naca0012_trans.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_trans.test_iter = 100 contadj_ns_naca0012_trans.test_vals = [ -1.810435, -6.920519, 1.756200, 1.020100 ] #last 4 columns contadj_ns_naca0012_trans.su2_exec = "SU2_CFD" contadj_ns_naca0012_trans.timeout = 1600 contadj_ns_naca0012_trans.tol = 0.00001 test_list.append(contadj_ns_naca0012_trans) ####################################################### ### Cont. adj. compressible RANS (frozen viscosity) ### ####################################################### # Adjoint turbulent NACA0012 contadj_rans_naca0012 = TestCase('contadj_rans_naca0012') contadj_rans_naca0012.cfg_dir = "cont_adj_rans/naca0012" contadj_rans_naca0012.cfg_file = "turb_nasa.cfg" contadj_rans_naca0012.test_iter = 100 contadj_rans_naca0012.test_vals = [ -4.351102, -8.919996, -72.511000, -2.541400 ] #last 4 columns contadj_rans_naca0012.su2_exec = "SU2_CFD" contadj_rans_naca0012.timeout = 1600 contadj_rans_naca0012.tol = 0.00001 test_list.append(contadj_rans_naca0012) # Adjoint turbulent RAE2822 contadj_rans_rae2822 = TestCase('contadj_rans_rae2822') contadj_rans_rae2822.cfg_dir = "cont_adj_rans/rae2822" contadj_rans_rae2822.cfg_file = "turb_SA_RAE2822.cfg" contadj_rans_rae2822.test_iter = 100 contadj_rans_rae2822.test_vals = [ -2.959224, -8.349094, 354.120000, 0.106450 ] #last 4 columns contadj_rans_rae2822.su2_exec = "SU2_CFD" contadj_rans_rae2822.timeout = 1600 contadj_rans_rae2822.tol = 0.00001 test_list.append(contadj_rans_rae2822) ####################################### ### Cont. adj. incompressible Euler ### ####################################### # Adjoint Incompressible Inviscid NACA0012 contadj_incomp_NACA0012 = TestCase('contadj_incomp_NACA0012') contadj_incomp_NACA0012.cfg_dir = "cont_adj_incomp_euler/naca0012" contadj_incomp_NACA0012.cfg_file = "incomp_NACA0012.cfg" contadj_incomp_NACA0012.test_iter = 140 contadj_incomp_NACA0012.test_vals = [ -7.326112, -7.153756, 1.892600, 0.000000 ] #last 4 columns contadj_incomp_NACA0012.su2_exec = "SU2_CFD" contadj_incomp_NACA0012.timeout = 1600 contadj_incomp_NACA0012.tol = 0.00001 test_list.append(contadj_incomp_NACA0012) ##################################### ### Cont. adj. incompressible N-S ### ##################################### # Adjoint Incompressible Viscous Cylinder contadj_incomp_cylinder = TestCase('contadj_incomp_cylinder') contadj_incomp_cylinder.cfg_dir = "cont_adj_incomp_navierstokes/cylinder" contadj_incomp_cylinder.cfg_file = "lam_incomp_cylinder.cfg" contadj_incomp_cylinder.test_iter = 25 contadj_incomp_cylinder.test_vals = [ -2.476381, -2.941665, -3.081400, 0.000000 ] #last 4 columns contadj_incomp_cylinder.su2_exec = "SU2_CFD" contadj_incomp_cylinder.timeout = 1600 contadj_incomp_cylinder.tol = 0.00001 test_list.append(contadj_incomp_cylinder) ###################################### ### Thermochemical Nonequilibrium ### ###################################### ramc = TestCase('ramc') ramc.cfg_dir = "tne2/ramc" ramc.cfg_file = "ramc61km.cfg" ramc.test_iter = 25 ramc.test_vals = [-4.638119, 2.854417, -4.439628, 0.000188] ramc.su2_exec = "SU2_CFD" ramc.timeout = 1600 ramc.tol = 0.00001 test_list.append(ramc) # ###################################### # ### Spectral Method ### # ###################################### # spectral = TestCase('spectral') # spectral.cfg_dir = "spectral_method" # spectral.cfg_file = "spectral.cfg" # spectral.test_iter = 25 # spectral.test_vals = [-1.621870,3.852164,0.007465,0.084358] # spectral.su2_exec = "SU2_CFD" # spectral.timeout = 1600 # spectral.tol = 0.00001 # test_list.append(spectral) ###################################### ### Moving Wall ### ###################################### # Lid-driven cavity cavity = TestCase('cavity') cavity.cfg_dir = "moving_wall/cavity" cavity.cfg_file = "lam_cavity.cfg" cavity.test_iter = 25 cavity.test_vals = [-5.627883, -0.164418, 0.051983, 2.546202] cavity.su2_exec = "SU2_CFD" cavity.timeout = 1600 cavity.tol = 0.00001 test_list.append(cavity) # Spinning cylinder spinning_cylinder = TestCase('spinning_cylinder') spinning_cylinder.cfg_dir = "moving_wall/spinning_cylinder" spinning_cylinder.cfg_file = "spinning_cylinder.cfg" spinning_cylinder.test_iter = 25 spinning_cylinder.test_vals = [-6.851254, -1.408408, 9.093772, 0.060754] spinning_cylinder.su2_exec = "SU2_CFD" spinning_cylinder.timeout = 1600 spinning_cylinder.tol = 0.00001 test_list.append(spinning_cylinder) ###################################### ### Unsteady ### ###################################### # Square cylinder square_cylinder = TestCase('square_cylinder') square_cylinder.cfg_dir = "unsteady/square_cylinder" square_cylinder.cfg_file = "turb_square.cfg" square_cylinder.test_iter = 3 square_cylinder.test_vals = [-1.542156, 0.048662, 1.398952, 2.196893] square_cylinder.su2_exec = "SU2_CFD" square_cylinder.timeout = 1600 square_cylinder.tol = 0.00001 test_list.append(square_cylinder) ###################################### ### Real_Gas ### ###################################### # ls89_sa ls89_sa = TestCase('ls89_sa') ls89_sa.cfg_dir = "nicf/LS89" ls89_sa.cfg_file = "turb_SA_PR.cfg" ls89_sa.test_iter = 100 ls89_sa.test_vals = [-7.042593, -12.006909, 0.067512, 0.149691] ls89_sa.su2_exec = "SU2_CFD" ls89_sa.timeout = 1600 ls89_sa.tol = 0.00001 test_list.append(ls89_sa) # ls89_sst ls89_sst = TestCase('ls89_sst') ls89_sst.cfg_dir = "nicf/LS89" ls89_sst.cfg_file = "turb_SST_PR.cfg" ls89_sst.test_iter = 100 ls89_sst.test_vals = [-8.901539, -1.625729, 0.067796, 0.151151] ls89_sst.su2_exec = "SU2_CFD" ls89_sst.timeout = 1600 ls89_sst.tol = 0.00001 test_list.append(ls89_sst) # Rarefaction shock wave edge_VW edge_VW = TestCase('edge_VW') edge_VW.cfg_dir = "nicf/edge" edge_VW.cfg_file = "edge_VW.cfg" edge_VW.test_iter = 100 edge_VW.test_vals = [-5.728637, -3.272400, -0.000046, 0.000000] edge_VW.su2_exec = "SU2_CFD" edge_VW.timeout = 1600 edge_VW.tol = 0.00001 test_list.append(edge_VW) # Rarefaction shock wave edge_PPR edge_PPR = TestCase('edge_PPR') edge_PPR.cfg_dir = "nicf/edge" edge_PPR.cfg_file = "edge_PPR.cfg" edge_PPR.test_iter = 100 edge_PPR.test_vals = [-6.278519, -3.849022, -0.000056, 0.000000] edge_PPR.su2_exec = "SU2_CFD" edge_PPR.timeout = 1600 edge_PPR.tol = 0.00001 test_list.append(edge_PPR) ###################################### ### RUN TESTS ### ###################################### pass_list = [test.run_test() for test in test_list] if all(pass_list): sys.exit(0) else: sys.exit(1)
def main(): '''This program runs SU^2 and ensures that the output matches specified values. This will be used to do nightly checks to make sure nothing is broken. ''' workdir = os.getcwd() # environment variables for SU2 os.environ['SU2_HOME'] = '/home/ale11/.cruise/projects/parallel_regression/work/SU2' os.environ['SU2_RUN'] = '/home/ale11/.cruise/projects/parallel_regression/work/SU2/bin' os.environ['PATH'] = os.environ['PATH'] + ':' + os.environ['SU2_RUN'] # sync SU2 repo os.chdir( os.environ['SU2_HOME'] ) os.system('git pull') # Build SU2_CFD in parallel using autoconf os.system('./configure --prefix=$SU2_HOME --with-MPI=mpicxx CXXFLAGS="-O3"') os.system('make clean') os.system('make install') os.chdir(os.environ['SU2_RUN']) if not os.path.exists("./SU2_CFD"): print 'Could not build SU2_CFD' sys.exit(1) if not os.path.exists("./SU2_PRT"): print 'Could not build SU2_PRT' sys.exit(1) os.chdir(workdir) test_list = [] ########################## ### Compressible Euler ### ########################## # Channel channel = TestCase('channel') channel.cfg_dir = "euler/channel" channel.cfg_file = "inv_channel_RK.cfg" channel.test_iter = 100 channel.test_vals = [-2.975507,2.405636,-0.027947,0.070672 ] channel.su2_exec = "parallel_computation.py -f" channel.timeout = 1600 channel.tol = 0.00001 test_list.append(channel) # NACA0012 naca0012 = TestCase('naca0012') naca0012.cfg_dir = "euler/naca0012" naca0012.cfg_file = "inv_NACA0012_Roe.cfg" naca0012.test_iter = 100 naca0012.test_vals = [-5.868897,-5.317999,0.335382,0.022264] naca0012.su2_exec = "parallel_computation.py -f" naca0012.timeout = 1600 naca0012.tol = 0.00001 test_list.append(naca0012) # Supersonic wedge wedge = TestCase('wedge') wedge.cfg_dir = "euler/wedge" wedge.cfg_file = "inv_wedge_HLLC.cfg" wedge.test_iter = 100 wedge.test_vals = [-1.810772,3.816000,-0.252360,0.044433] wedge.su2_exec = "parallel_computation.py -f" wedge.timeout = 1600 wedge.tol = 0.00001 test_list.append(wedge) # ONERA M6 Wing oneram6 = TestCase('oneram6') oneram6.cfg_dir = "euler/oneram6" oneram6.cfg_file = "inv_ONERAM6_JST.cfg" oneram6.test_iter = 10 oneram6.test_vals = [-4.722014,-4.159420,0.277228,0.018788] oneram6.su2_exec = "parallel_computation.py -f" oneram6.timeout = 3200 oneram6.tol = 0.00001 test_list.append(oneram6) ########################## ### Compressible N-S ### ########################## # Laminar flat plate flatplate = TestCase('flatplate') flatplate.cfg_dir = "navierstokes/flatplate" flatplate.cfg_file = "lam_flatplate.cfg" flatplate.test_iter = 100 flatplate.test_vals = [-5.236893,0.247033,-0.163494,0.013566] flatplate.su2_exec = "parallel_computation.py -f" flatplate.timeout = 1600 flatplate.tol = 0.00001 test_list.append(flatplate) # Laminar cylinder (steady) cylinder = TestCase('cylinder') cylinder.cfg_dir = "navierstokes/cylinder" cylinder.cfg_file = "lam_cylinder.cfg" cylinder.test_iter = 25 cylinder.test_vals = [-6.414640,-0.949884,0.028066,-5.963428] cylinder.su2_exec = "parallel_computation.py -f" cylinder.timeout = 1600 cylinder.tol = 0.00001 test_list.append(cylinder) ########################## ### Compressible RANS ### ########################## # RAE2822 SA rae2822_sa = TestCase('rae2822_sa') rae2822_sa.cfg_dir = "rans/rae2822" rae2822_sa.cfg_file = "turb_SA_RAE2822.cfg" rae2822_sa.test_iter = 100 rae2822_sa.test_vals = [-2.750473,-5.507654,0.871049,0.023362] #last 4 columns rae2822_sa.su2_exec = "parallel_computation.py -f" rae2822_sa.timeout = 1600 rae2822_sa.tol = 0.00001 test_list.append(rae2822_sa) # RAE2822 SST rae2822_sst = TestCase('rae2822_sst') rae2822_sst.cfg_dir = "rans/rae2822" rae2822_sst.cfg_file = "turb_SST_RAE2822.cfg" rae2822_sst.test_iter = 100 rae2822_sst.test_vals = [-1.166409,4.131494,0.872131,0.023509] #last 4 columns rae2822_sst.su2_exec = "parallel_computation.py -f" rae2822_sst.timeout = 1600 rae2822_sst.tol = 0.00001 test_list.append(rae2822_sst) # Flat plate turb_flatplate = TestCase('turb_flatplate') turb_flatplate.cfg_dir = "rans/flatplate" turb_flatplate.cfg_file = "turb_SA_flatplate.cfg" turb_flatplate.test_iter = 100 turb_flatplate.test_vals = [-4.965682,-7.366012,-0.185201,0.015640] #last 4 columns turb_flatplate.su2_exec = "parallel_computation.py -f" turb_flatplate.timeout = 1600 turb_flatplate.tol = 0.00001 test_list.append(turb_flatplate) # ONERA M6 Wing turb_oneram6 = TestCase('turb_oneram6') turb_oneram6.cfg_dir = "rans/oneram6" turb_oneram6.cfg_file = "turb_ONERAM6.cfg" turb_oneram6.test_iter = 10 turb_oneram6.test_vals = [-2.327518,-6.563377,0.230436,0.155816] #last 4 columns turb_oneram6.su2_exec = "parallel_computation.py -f" turb_oneram6.timeout = 3200 turb_oneram6.tol = 0.00001 test_list.append(turb_oneram6) # NACA0012 turb_naca0012 = TestCase('turb_naca0012') turb_naca0012.cfg_dir = "rans/naca0012" turb_naca0012.cfg_file = "turb_NACA0012.cfg" turb_naca0012.test_iter = 20 turb_naca0012.test_vals = [-2.826348,-7.364208,-0.000065,0.803130] #last 4 columns turb_naca0012.su2_exec = "parallel_computation.py -f" turb_naca0012.timeout = 3200 turb_naca0012.tol = 0.00001 test_list.append(turb_naca0012) ############################ ### Incompressible RANS ### ############################ # NACA0012 inc_turb_naca0012 = TestCase('inc_turb_naca0012') inc_turb_naca0012.cfg_dir = "incomp_rans/naca0012" inc_turb_naca0012.cfg_file = "naca0012.cfg" inc_turb_naca0012.test_iter = 20 inc_turb_naca0012.test_vals = [-4.709964,-11.007318,0.000012,0.211084] #last 4 columns inc_turb_naca0012.su2_exec = "parallel_computation.py -f" inc_turb_naca0012.timeout = 1600 inc_turb_naca0012.tol = 0.00001 test_list.append(inc_turb_naca0012) ##################################### ### Cont. adj. compressible Euler ### ##################################### # Inviscid NACA0012 contadj_naca0012 = TestCase('contadj_naca0012') contadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" contadj_naca0012.cfg_file = "inv_NACA0012.cfg" contadj_naca0012.test_iter = 5 contadj_naca0012.test_vals = [-12.164200,-16.000000,0.005483,0.536870] #last 4 columns contadj_naca0012.su2_exec = "parallel_computation.py -f" contadj_naca0012.timeout = 1600 contadj_naca0012.tol = 0.00001 test_list.append(contadj_naca0012) # Inviscid ONERA M6 contadj_oneram6 = TestCase('contadj_oneram6') contadj_oneram6.cfg_dir = "cont_adj_euler/oneram6" contadj_oneram6.cfg_file = "inv_ONERAM6.cfg" contadj_oneram6.test_iter = 5 contadj_oneram6.test_vals = [-6.369284,-6.550741,-0.000023,0.147730] #last 4 columns contadj_oneram6.su2_exec = "parallel_computation.py -f" contadj_oneram6.timeout = 1600 contadj_oneram6.tol = 0.00001 test_list.append(contadj_oneram6) ################################### ### Cont. adj. compressible N-S ### ################################### # Adjoint laminar cylinder contadj_ns_cylinder = TestCase('contadj_ns_cylinder') contadj_ns_cylinder.cfg_dir = "cont_adj_navierstokes/cylinder" contadj_ns_cylinder.cfg_file = "lam_cylinder.cfg" contadj_ns_cylinder.test_iter = 100 contadj_ns_cylinder.test_vals = [-0.586744,-6.051059,-0.032305,25.115000 ] #last 4 columns contadj_ns_cylinder.su2_exec = "parallel_computation.py -f" contadj_ns_cylinder.timeout = 1600 contadj_ns_cylinder.tol = 0.00001 test_list.append(contadj_ns_cylinder) # Adjoint laminar naca0012 subsonic contadj_ns_naca0012_sub = TestCase('contadj_ns_naca0012_sub') contadj_ns_naca0012_sub.cfg_dir = "cont_adj_navierstokes/naca0012_sub" contadj_ns_naca0012_sub.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_sub.test_iter = 100 contadj_ns_naca0012_sub.test_vals = [-4.234330,-9.705736,0.005161,0.398940] #last 4 columns contadj_ns_naca0012_sub.su2_exec = "parallel_computation.py -f" contadj_ns_naca0012_sub.timeout = 1600 contadj_ns_naca0012_sub.tol = 0.00001 test_list.append(contadj_ns_naca0012_sub) # Adjoint laminar naca0012 transonic contadj_ns_naca0012_trans = TestCase('contadj_ns_naca0012_trans') contadj_ns_naca0012_trans.cfg_dir = "cont_adj_navierstokes/naca0012_trans" contadj_ns_naca0012_trans.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_trans.test_iter = 100 contadj_ns_naca0012_trans.test_vals = [-1.810435,-6.920519,0.014614,1.020100] #last 4 columns contadj_ns_naca0012_trans.su2_exec = "parallel_computation.py -f" contadj_ns_naca0012_trans.timeout = 1600 contadj_ns_naca0012_trans.tol = 0.00001 test_list.append(contadj_ns_naca0012_trans) ####################################################### ### Cont. adj. compressible RANS (frozen viscosity) ### ####################################################### # Adjoint turbulent NACA0012 contadj_rans_naca0012 = TestCase('contadj_rans_naca0012') contadj_rans_naca0012.cfg_dir = "cont_adj_rans/naca0012" contadj_rans_naca0012.cfg_file = "turb_nasa.cfg" contadj_rans_naca0012.test_iter = 100 contadj_rans_naca0012.test_vals = [-4.351102,-8.919996,-1.275200,-2.541400] #last 4 columns contadj_rans_naca0012.su2_exec = "parallel_computation.py -f" contadj_rans_naca0012.timeout = 1600 contadj_rans_naca0012.tol = 0.00001 test_list.append(contadj_rans_naca0012) # Adjoint turbulent RAE2822 contadj_rans_rae2822 = TestCase('contadj_rans_rae822') contadj_rans_rae2822.cfg_dir = "cont_adj_rans/rae2822" contadj_rans_rae2822.cfg_file = "turb_SA_RAE2822.cfg" contadj_rans_rae2822.test_iter = 100 contadj_rans_rae2822.test_vals = [-2.912541,-8.134391,4.544600,0.105850] #last 4 columns contadj_rans_rae2822.su2_exec = "parallel_computation.py -f" contadj_rans_rae2822.timeout = 1600 contadj_rans_rae2822.tol = 0.00001 test_list.append(contadj_rans_rae2822) ####################################### ### Cont. adj. incompressible Euler ### ####################################### # Adjoint Incompressible Inviscid NACA0012 contadj_incomp_NACA0012 = TestCase('contadj_incomp_NACA0012') contadj_incomp_NACA0012.cfg_dir = "cont_adj_incomp_euler/naca0012" contadj_incomp_NACA0012.cfg_file = "incomp_NACA0012.cfg" contadj_incomp_NACA0012.test_iter = 140 contadj_incomp_NACA0012.test_vals = [-6.182255,-6.058331,0.010905,0.000000] #last 4 columns contadj_incomp_NACA0012.su2_exec = "parallel_computation.py -f" contadj_incomp_NACA0012.timeout = 1600 contadj_incomp_NACA0012.tol = 0.00001 test_list.append(contadj_incomp_NACA0012) ##################################### ### Cont. adj. incompressible N-S ### ##################################### # Adjoint Incompressible Viscous Cylinder contadj_incomp_cylinder = TestCase('contadj_incomp_cylinder') contadj_incomp_cylinder.cfg_dir = "cont_adj_incomp_navierstokes/cylinder" contadj_incomp_cylinder.cfg_file = "lam_incomp_cylinder.cfg" contadj_incomp_cylinder.test_iter = 25 contadj_incomp_cylinder.test_vals = [-2.381271,-2.874257,-0.048372,0.000000] #last 4 columns contadj_incomp_cylinder.su2_exec = "parallel_computation.py -f" contadj_incomp_cylinder.timeout = 1600 contadj_incomp_cylinder.tol = 0.00001 test_list.append(contadj_incomp_cylinder) ###################################### ### Thermochemical Nonequilibrium ### ###################################### # RAM-C II Sphere-Cone -- 61km Altitude ramc = TestCase('ramc') ramc.cfg_dir = "tne2/ramc" ramc.cfg_file = "ramc61km.cfg" ramc.test_iter = 25 ramc.test_vals = [-4.638119,2.854417,-4.439628,0.000188] ramc.su2_exec = "parallel_computation.py -f" ramc.timeout = 1600 ramc.tol = 0.00001 test_list.append(ramc) ###################################### ### Moving Wall ### ###################################### # Lid-driven cavity cavity = TestCase('cavity') cavity.cfg_dir = "moving_wall/cavity" cavity.cfg_file = "lam_cavity.cfg" cavity.test_iter = 25 cavity.test_vals = [-5.439958,0.023984,-0.065783,-12.173188] cavity.su2_exec = "parallel_computation.py -f" cavity.timeout = 1600 cavity.tol = 0.00001 test_list.append(cavity) # Spinning cylinder spinning_cylinder = TestCase('spinning_cylinder') spinning_cylinder.cfg_dir = "moving_wall/spinning_cylinder" spinning_cylinder.cfg_file = "spinning_cylinder.cfg" spinning_cylinder.test_iter = 25 spinning_cylinder.test_vals = [-6.654688,-1.195462,6.682924,0.987516] spinning_cylinder.su2_exec = "parallel_computation.py -f" spinning_cylinder.timeout = 1600 spinning_cylinder.tol = 0.00001 test_list.append(spinning_cylinder) ###################################### ### Unsteady ### ###################################### # Square cylinder square_cylinder = TestCase('square_cylinder') square_cylinder.cfg_dir = "unsteady/square_cylinder" square_cylinder.cfg_file = "turb_square.cfg" square_cylinder.test_iter = 3 square_cylinder.test_vals = [-1.542162,0.048674,1.398952,2.196894] square_cylinder.su2_exec = "parallel_computation.py -f" square_cylinder.timeout = 1600 square_cylinder.tol = 0.00001 test_list.append(square_cylinder) ###################################### ### RUN TESTS ### ###################################### pass_list = [ test.run_test() for test in test_list ] if all(pass_list): sys.exit(0) else: sys.exit(1)
def main(): '''This program runs SU2 and ensures that the output matches specified values. This will be used to do checks when code is pushed to github to make sure nothing is broken. ''' test_list = [] ########################## ### Compressible Euler ### ########################## # Channel channel = TestCase('channel') channel.cfg_dir = "euler/channel" channel.cfg_file = "inv_channel_RK.cfg" channel.test_iter = 100 channel.test_vals = [-2.984481, 2.389875, 0.008865, 0.027854] #last 4 columns channel.su2_exec = "parallel_computation.py -f" channel.timeout = 1600 channel.tol = 0.00001 test_list.append(channel) # NACA0012 naca0012 = TestCase('naca0012') naca0012.cfg_dir = "euler/naca0012" naca0012.cfg_file = "inv_NACA0012_Roe.cfg" naca0012.test_iter = 100 naca0012.test_vals = [-6.237188, -5.641250, 0.334843, 0.022206] #last 4 columns naca0012.su2_exec = "parallel_computation.py -f" naca0012.timeout = 1600 naca0012.tol = 0.00001 test_list.append(naca0012) # Supersonic wedge wedge = TestCase('wedge') wedge.cfg_dir = "euler/wedge" wedge.cfg_file = "inv_wedge_HLLC.cfg" wedge.test_iter = 100 wedge.test_vals = [-1.702502, 3.923373, -0.252116, 0.044396] #last 4 columns wedge.su2_exec = "parallel_computation.py -f" wedge.timeout = 1600 wedge.tol = 0.00001 test_list.append(wedge) # ONERA M6 Wing oneram6 = TestCase('oneram6') oneram6.cfg_dir = "euler/oneram6" oneram6.cfg_file = "inv_ONERAM6.cfg" oneram6.test_iter = 10 oneram6.test_vals = [-13.398374, -12.928436, 0.282557, 0.012706] #last 4 columns oneram6.su2_exec = "parallel_computation.py -f" oneram6.timeout = 3200 oneram6.tol = 0.00001 test_list.append(oneram6) ########################## ### Compressible N-S ### ########################## # Laminar flat plate flatplate = TestCase('flatplate') flatplate.cfg_dir = "navierstokes/flatplate" flatplate.cfg_file = "lam_flatplate.cfg" flatplate.test_iter = 100 flatplate.test_vals = [-5.233923, 0.259801, -0.166790, 0.012722] #last 4 columns flatplate.su2_exec = "parallel_computation.py -f" flatplate.timeout = 1600 flatplate.tol = 0.00001 test_list.append(flatplate) # Laminar cylinder (steady) cylinder = TestCase('cylinder') cylinder.cfg_dir = "navierstokes/cylinder" cylinder.cfg_file = "lam_cylinder.cfg" cylinder.test_iter = 25 cylinder.test_vals = [-6.757291, -1.289309, -0.125948, 0.625438] #last 4 columns cylinder.su2_exec = "parallel_computation.py -f" cylinder.timeout = 1600 cylinder.tol = 0.00001 test_list.append(cylinder) ########################## ### Compressible RANS ### ########################## # RAE2822 SA rae2822_sa = TestCase('rae2822_sa') rae2822_sa.cfg_dir = "rans/rae2822" rae2822_sa.cfg_file = "turb_SA_RAE2822.cfg" rae2822_sa.test_iter = 100 rae2822_sa.test_vals = [-3.637762, -5.450251, 0.890401, 0.025056] #last 4 columns rae2822_sa.su2_exec = "parallel_computation.py -f" rae2822_sa.timeout = 1600 rae2822_sa.tol = 0.00001 test_list.append(rae2822_sa) # RAE2822 SST rae2822_sst = TestCase('rae2822_sst') rae2822_sst.cfg_dir = "rans/rae2822" rae2822_sst.cfg_file = "turb_SST_RAE2822.cfg" rae2822_sst.test_iter = 100 rae2822_sst.test_vals = [-1.217020, 4.023774, 0.892665, 0.025209] #last 4 columns rae2822_sst.su2_exec = "parallel_computation.py -f" rae2822_sst.timeout = 1600 rae2822_sst.tol = 0.00001 test_list.append(rae2822_sst) # Flat plate turb_flatplate = TestCase('turb_flatplate') turb_flatplate.cfg_dir = "rans/flatplate" turb_flatplate.cfg_file = "turb_SA_flatplate.cfg" turb_flatplate.test_iter = 100 turb_flatplate.test_vals = [-5.073540, -7.354716, -0.187154, 0.011105] #last 4 columns turb_flatplate.su2_exec = "parallel_computation.py -f" turb_flatplate.timeout = 1600 turb_flatplate.tol = 0.00001 test_list.append(turb_flatplate) # ONERA M6 Wing turb_oneram6 = TestCase('turb_oneram6') turb_oneram6.cfg_dir = "rans/oneram6" turb_oneram6.cfg_file = "turb_ONERAM6.cfg" turb_oneram6.test_iter = 10 turb_oneram6.test_vals = [-2.327509, -6.563372, 0.230438, 0.155815] #last 4 columns turb_oneram6.su2_exec = "parallel_computation.py -f" turb_oneram6.timeout = 3200 turb_oneram6.tol = 0.00001 test_list.append(turb_oneram6) # NACA0012 (SA, FUN3D finest grid results: CL=1.0983, CD=0.01242) turb_naca0012_sa = TestCase('turb_naca0012_sa') turb_naca0012_sa.cfg_dir = "rans/naca0012" turb_naca0012_sa.cfg_file = "turb_NACA0012_sa.cfg" turb_naca0012_sa.test_iter = 10 turb_naca0012_sa.test_vals = [-12.000764, -9.145363, 1.070528, 0.019417] #last 4 columns turb_naca0012_sa.su2_exec = "parallel_computation.py -f" turb_naca0012_sa.timeout = 3200 turb_naca0012_sa.tol = 0.00001 test_list.append(turb_naca0012_sa) # NACA0012 (SST, FUN3D finest grid results: CL=1.0840, CD=0.01253) turb_naca0012_sst = TestCase('turb_naca0012_sst') turb_naca0012_sst.cfg_dir = "rans/naca0012" turb_naca0012_sst.cfg_file = "turb_NACA0012_sst.cfg" turb_naca0012_sst.test_iter = 10 turb_naca0012_sst.test_vals = [-15.039665, -7.220109, 1.059622, 0.019138] #last 4 columns turb_naca0012_sst.su2_exec = "parallel_computation.py -f" turb_naca0012_sst.timeout = 3200 turb_naca0012_sst.tol = 0.00001 test_list.append(turb_naca0012_sst) ############################ ### Incompressible RANS ### ############################ # NACA0012 inc_turb_naca0012 = TestCase('inc_turb_naca0012') inc_turb_naca0012.cfg_dir = "incomp_rans/naca0012" inc_turb_naca0012.cfg_file = "naca0012.cfg" inc_turb_naca0012.test_iter = 20 inc_turb_naca0012.test_vals = [-4.709508, -11.006161, -0.000017, 0.211696] #last 4 columns inc_turb_naca0012.su2_exec = "parallel_computation.py -f" inc_turb_naca0012.timeout = 1600 inc_turb_naca0012.tol = 0.00001 test_list.append(inc_turb_naca0012) ##################################### ### Cont. adj. compressible Euler ### ##################################### # Inviscid NACA0012 contadj_naca0012 = TestCase('contadj_naca0012') contadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" contadj_naca0012.cfg_file = "inv_NACA0012.cfg" contadj_naca0012.test_iter = 5 contadj_naca0012.test_vals = [-9.783712, -15.192812, 0.300920, 0.536870] #last 4 columns contadj_naca0012.su2_exec = "parallel_computation.py -f" contadj_naca0012.timeout = 1600 contadj_naca0012.tol = 0.00001 test_list.append(contadj_naca0012) # Inviscid ONERA M6 contadj_oneram6 = TestCase('contadj_oneram6') contadj_oneram6.cfg_dir = "cont_adj_euler/oneram6" contadj_oneram6.cfg_file = "inv_ONERAM6.cfg" contadj_oneram6.test_iter = 10 contadj_oneram6.test_vals = [-12.132862, -12.704820, 0.685900, 0.140920] #last 4 columns contadj_oneram6.su2_exec = "parallel_computation.py -f" contadj_oneram6.timeout = 1600 contadj_oneram6.tol = 0.00001 test_list.append(contadj_oneram6) ################################### ### Cont. adj. compressible N-S ### ################################### # Adjoint laminar cylinder contadj_ns_cylinder = TestCase('contadj_ns_cylinder') contadj_ns_cylinder.cfg_dir = "cont_adj_navierstokes/cylinder" contadj_ns_cylinder.cfg_file = "lam_cylinder.cfg" contadj_ns_cylinder.test_iter = 100 contadj_ns_cylinder.test_vals = [-3.658396, -9.117436, -2.056700, 4.497000] #last 4 columns contadj_ns_cylinder.su2_exec = "parallel_computation.py -f" contadj_ns_cylinder.timeout = 1600 contadj_ns_cylinder.tol = 0.00001 test_list.append(contadj_ns_cylinder) # Adjoint laminar naca0012 subsonic contadj_ns_naca0012_sub = TestCase('contadj_ns_naca0012_sub') contadj_ns_naca0012_sub.cfg_dir = "cont_adj_navierstokes/naca0012_sub" contadj_ns_naca0012_sub.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_sub.test_iter = 100 contadj_ns_naca0012_sub.test_vals = [-2.744551, -8.216469, 0.518810, 0.229160] #last 4 columns contadj_ns_naca0012_sub.su2_exec = "parallel_computation.py -f" contadj_ns_naca0012_sub.timeout = 1600 contadj_ns_naca0012_sub.tol = 0.00001 test_list.append(contadj_ns_naca0012_sub) # Adjoint laminar naca0012 transonic contadj_ns_naca0012_trans = TestCase('contadj_ns_naca0012_trans') contadj_ns_naca0012_trans.cfg_dir = "cont_adj_navierstokes/naca0012_trans" contadj_ns_naca0012_trans.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_trans.test_iter = 100 contadj_ns_naca0012_trans.test_vals = [-1.041539, -6.578524, 1.772300, 0.620880] #last 4 columns contadj_ns_naca0012_trans.su2_exec = "parallel_computation.py -f" contadj_ns_naca0012_trans.timeout = 1600 contadj_ns_naca0012_trans.tol = 0.00001 test_list.append(contadj_ns_naca0012_trans) ####################################################### ### Cont. adj. compressible RANS (frozen viscosity) ### ####################################################### # Adjoint turbulent NACA0012 contadj_rans_naca0012 = TestCase('contadj_rans_naca0012') contadj_rans_naca0012.cfg_dir = "cont_adj_rans/naca0012" contadj_rans_naca0012.cfg_file = "turb_nasa.cfg" contadj_rans_naca0012.test_iter = 100 contadj_rans_naca0012.test_vals = [-0.814757, -5.726517, -19.169000, -2.994100] #last 4 columns contadj_rans_naca0012.su2_exec = "parallel_computation.py -f" contadj_rans_naca0012.timeout = 1600 contadj_rans_naca0012.tol = 0.00001 test_list.append(contadj_rans_naca0012) # Adjoint turbulent RAE2822 contadj_rans_rae2822 = TestCase('contadj_rans_rae822') contadj_rans_rae2822.cfg_dir = "cont_adj_rans/rae2822" contadj_rans_rae2822.cfg_file = "turb_SA_RAE2822.cfg" contadj_rans_rae2822.test_iter = 100 contadj_rans_rae2822.test_vals = [-5.381632, -10.887032, -0.212470, 0.269390] #last 4 columns contadj_rans_rae2822.su2_exec = "parallel_computation.py -f" contadj_rans_rae2822.timeout = 1600 contadj_rans_rae2822.tol = 0.00001 test_list.append(contadj_rans_rae2822) ####################################### ### Cont. adj. incompressible Euler ### ####################################### # Adjoint Incompressible Inviscid NACA0012 contadj_incomp_NACA0012 = TestCase('contadj_incomp_NACA0012') contadj_incomp_NACA0012.cfg_dir = "cont_adj_incomp_euler/naca0012" contadj_incomp_NACA0012.cfg_file = "incomp_NACA0012.cfg" contadj_incomp_NACA0012.test_iter = 5 contadj_incomp_NACA0012.test_vals = [-11.968536, -12.133235, 1.939900, 0.000000] #last 4 columns contadj_incomp_NACA0012.su2_exec = "parallel_computation.py -f" contadj_incomp_NACA0012.timeout = 1600 contadj_incomp_NACA0012.tol = 0.00001 test_list.append(contadj_incomp_NACA0012) ##################################### ### Cont. adj. incompressible N-S ### ##################################### # Adjoint Incompressible Viscous Cylinder contadj_incomp_cylinder = TestCase('contadj_incomp_cylinder') contadj_incomp_cylinder.cfg_dir = "cont_adj_incomp_navierstokes/cylinder" contadj_incomp_cylinder.cfg_file = "lam_incomp_cylinder.cfg" contadj_incomp_cylinder.test_iter = 25 contadj_incomp_cylinder.test_vals = [-5.718776, -7.020714, -2.932100, 0.000000] #last 4 columns contadj_incomp_cylinder.su2_exec = "parallel_computation.py -f" contadj_incomp_cylinder.timeout = 1600 contadj_incomp_cylinder.tol = 0.00001 test_list.append(contadj_incomp_cylinder) ###################################### ### Thermochemical Nonequilibrium ### ###################################### # RAM-C II Sphere-Cone -- 61km Altitude ramc = TestCase('ramc') ramc.cfg_dir = "tne2/ramc" ramc.cfg_file = "ramc61km.cfg" ramc.test_iter = 25 ramc.test_vals = [-4.643029, 2.849441, -4.443852, 0.000313] #last 4 columns ramc.su2_exec = "parallel_computation.py -f" ramc.timeout = 1600 ramc.tol = 0.00001 test_list.append(ramc) ###################################### ### Moving Wall ### ###################################### # Lid-driven cavity cavity = TestCase('cavity') cavity.cfg_dir = "moving_wall/cavity" cavity.cfg_file = "lam_cavity.cfg" cavity.test_iter = 25 cavity.test_vals = [-5.594283, -0.130745, -0.510607, 0.061921] #last 4 columns cavity.su2_exec = "parallel_computation.py -f" cavity.timeout = 1600 cavity.tol = 0.00001 test_list.append(cavity) # Spinning cylinder spinning_cylinder = TestCase('spinning_cylinder') spinning_cylinder.cfg_dir = "moving_wall/spinning_cylinder" spinning_cylinder.cfg_file = "spinning_cylinder.cfg" spinning_cylinder.test_iter = 25 spinning_cylinder.test_vals = [-7.637313, -2.194229, 1.212769, 1.605369] #last 4 columns spinning_cylinder.su2_exec = "parallel_computation.py -f" spinning_cylinder.timeout = 1600 spinning_cylinder.tol = 0.00001 test_list.append(spinning_cylinder) ###################################### ### Unsteady ### ###################################### # Square cylinder square_cylinder = TestCase('square_cylinder') square_cylinder.cfg_dir = "unsteady/square_cylinder" square_cylinder.cfg_file = "turb_square.cfg" square_cylinder.test_iter = 3 square_cylinder.test_vals = [-1.544602, 0.048576, 1.398951, 2.196894] #last 4 columns square_cylinder.su2_exec = "parallel_computation.py -f" square_cylinder.timeout = 1600 square_cylinder.tol = 0.00001 test_list.append(square_cylinder) # Gust sine_gust = TestCase('sine_gust') sine_gust.cfg_dir = "gust" sine_gust.cfg_file = "inv_gust_NACA0012.cfg" sine_gust.test_iter = 5 sine_gust.test_vals = [-1.977531, 3.481790, -0.014552, -0.004969] #last 4 columns sine_gust.su2_exec = "parallel_computation.py -f" sine_gust.timeout = 1600 sine_gust.tol = 0.00001 sine_gust.unsteady = True test_list.append(sine_gust) # Aeroelastic aeroelastic = TestCase('aeroelastic') aeroelastic.cfg_dir = "aeroelastic" aeroelastic.cfg_file = "aeroelastic_NACA64A010.cfg" aeroelastic.test_iter = 2 aeroelastic.test_vals = [0.077319, 0.036428, -1.685289e-03, -1.129111e-04] #last 4 columns aeroelastic.su2_exec = "parallel_computation.py -f" aeroelastic.timeout = 1600 aeroelastic.tol = 0.000001 aeroelastic.unsteady = True test_list.append(aeroelastic) ###################################### ### NICFD ### ###################################### # Rarefaction shock wave edge_VW edge_VW = TestCase('edge_VW') edge_VW.cfg_dir = "nicf/edge" edge_VW.cfg_file = "edge_VW.cfg" edge_VW.test_iter = 100 edge_VW.test_vals = [-1.446201, 4.751213, -0.000046, 0.000000] #last 4 columns edge_VW.su2_exec = "parallel_computation.py -f" edge_VW.timeout = 1600 edge_VW.tol = 0.00001 test_list.append(edge_VW) # Rarefaction shock wave edge_PPR edge_PPR = TestCase('edge_PPR') edge_PPR.cfg_dir = "nicf/edge" edge_PPR.cfg_file = "edge_PPR.cfg" edge_PPR.test_iter = 100 edge_PPR.test_vals = [-1.995058, 4.175675, -0.000056, 0.000000] #last 4 columns edge_PPR.su2_exec = "parallel_computation.py -f" edge_PPR.timeout = 1600 edge_PPR.tol = 0.00001 test_list.append(edge_PPR) ###################################### ### RUN TESTS ### ###################################### pass_list = [ test.run_test() for test in test_list ] # Tests summary print '==================================================================' print 'Summary of the parallel tests' for i, test in enumerate(test_list): if (pass_list[i]): print ' passed - %s'%test.tag else: print '* FAILED - %s'%test.tag if all(pass_list): sys.exit(0) else: sys.exit(1)
def main(): '''This program runs SU2 and ensures that the output matches specified values. This will be used to do checks when code is pushed to github to make sure nothing is broken. ''' test_list = [] ##################################### ### Disc. adj. compressible Euler ### ##################################### # Inviscid NACA0012 discadj_naca0012 = TestCase('discadj_naca0012') discadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" discadj_naca0012.cfg_file = "inv_NACA0012_discadj.cfg" discadj_naca0012.test_iter = 100 discadj_naca0012.test_vals = [-3.606963,-9.034619,-3.3385e-07,1.8777e-01] #last 4 columns discadj_naca0012.su2_exec = "parallel_computation.py -f" discadj_naca0012.timeout = 1600 discadj_naca0012.tol = 0.00001 test_list.append(discadj_naca0012) #################################### ### Disc. adj. compressible RANS ### #################################### # Adjoint turbulent NACA0012 SA discadj_rans_naca0012_sa = TestCase('discadj_rans_naca0012_sa') discadj_rans_naca0012_sa.cfg_dir = "disc_adj_rans/naca0012" discadj_rans_naca0012_sa.cfg_file = "turb_NACA0012_sa.cfg" discadj_rans_naca0012_sa.test_iter = 10 discadj_rans_naca0012_sa.test_vals = [-1.751997, 0.485368, 0.182890, -0.383510] #last 4 columns discadj_rans_naca0012_sa.su2_exec = "parallel_computation.py -f" discadj_rans_naca0012_sa.timeout = 1600 discadj_rans_naca0012_sa.tol = 0.00001 test_list.append(discadj_rans_naca0012_sa) # Adjoint turbulent NACA0012 SST discadj_rans_naca0012_sst = TestCase('discadj_rans_naca0012_sst') discadj_rans_naca0012_sst.cfg_dir = "disc_adj_rans/naca0012" discadj_rans_naca0012_sst.cfg_file = "turb_NACA0012_sst.cfg" discadj_rans_naca0012_sst.test_iter = 10 discadj_rans_naca0012_sst.test_vals = [-1.655243, -0.507187, 0.129010, -0.4776800] #last 4 columns discadj_rans_naca0012_sst.su2_exec = "parallel_computation.py -f" discadj_rans_naca0012_sst.timeout = 1600 discadj_rans_naca0012_sst.tol = 0.00001 test_list.append(discadj_rans_naca0012_sst) ###################################### ### RUN TESTS ### ###################################### pass_list = [ test.run_test() for test in test_list ] # Tests summary print '==================================================================' print 'Summary of the parallel tests' for i, test in enumerate(test_list): if (pass_list[i]): print ' passed - %s'%test.tag else: print '* FAILED - %s'%test.tag if all(pass_list): sys.exit(0) else: sys.exit(1)
def main(): '''This program runs SU2 and ensures that the output matches specified values. This will be used to do checks when code is pushed to github to make sure nothing is broken. ''' test_list = [] ##################################### ### Disc. adj. compressible Euler ### ##################################### # Inviscid NACA0012 discadj_naca0012 = TestCase('discadj_naca0012') discadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" discadj_naca0012.cfg_file = "inv_NACA0012_discadj.cfg" discadj_naca0012.test_iter = 100 discadj_naca0012.test_vals = [-3.606839, -9.035212, -0.000000, 0.005688] #last 4 columns discadj_naca0012.su2_exec = "SU2_CFD_AD" discadj_naca0012.timeout = 1600 discadj_naca0012.tol = 0.00001 test_list.append(discadj_naca0012) # Inviscid Cylinder 3D (multiple markers) discadj_cylinder3D = TestCase('discadj_cylinder3D') discadj_cylinder3D.cfg_dir = "disc_adj_euler/cylinder3D" discadj_cylinder3D.cfg_file = "inv_cylinder3D.cfg" discadj_cylinder3D.test_iter = 5 discadj_cylinder3D.test_vals = [-3.724711, -4.052467, -0.000000, 0.000000] #last 4 columns discadj_cylinder3D.su2_exec = "SU2_CFD_AD" discadj_cylinder3D.timeout = 1600 discadj_cylinder3D.tol = 0.00001 test_list.append(discadj_cylinder3D) ####################################################### ### Disc. adj. compressible RANS ### ####################################################### # Adjoint turbulent NACA0012 SA discadj_rans_naca0012_sa = TestCase('discadj_rans_naca0012_sa') discadj_rans_naca0012_sa.cfg_dir = "disc_adj_rans/naca0012" discadj_rans_naca0012_sa.cfg_file = "turb_NACA0012_sa.cfg" discadj_rans_naca0012_sa.test_iter = 10 discadj_rans_naca0012_sa.test_vals = [ -1.751962, 0.485775, 0.182122, -0.000018 ] #last 4 columns discadj_rans_naca0012_sa.su2_exec = "SU2_CFD_AD" discadj_rans_naca0012_sa.timeout = 1600 discadj_rans_naca0012_sa.tol = 0.00001 test_list.append(discadj_rans_naca0012_sa) # Adjoint turbulent NACA0012 SST discadj_rans_naca0012_sst = TestCase('discadj_rans_naca0012_sst') discadj_rans_naca0012_sst.cfg_dir = "disc_adj_rans/naca0012" discadj_rans_naca0012_sst.cfg_file = "turb_NACA0012_sst.cfg" discadj_rans_naca0012_sst.test_iter = 10 discadj_rans_naca0012_sst.test_vals = [ -1.654903, -0.491416, 0.109157, 0.000011 ] #last 4 columns discadj_rans_naca0012_sst.su2_exec = "SU2_CFD_AD" discadj_rans_naca0012_sst.timeout = 1600 discadj_rans_naca0012_sst.tol = 0.00001 test_list.append(discadj_rans_naca0012_sst) ####################################### ### Disc. adj. incompressible Euler ### ####################################### # Adjoint Incompressible Inviscid NACA0012 discadj_incomp_NACA0012 = TestCase('discadj_incomp_NACA0012') discadj_incomp_NACA0012.cfg_dir = "cont_adj_incomp_euler/naca0012" discadj_incomp_NACA0012.cfg_file = "incomp_NACA0012_disc.cfg" discadj_incomp_NACA0012.test_iter = 20 discadj_incomp_NACA0012.test_vals = [ -2.911277, -2.705448, 0.000000, 0.000000 ] #last 4 columns discadj_incomp_NACA0012.su2_exec = "SU2_CFD_AD" discadj_incomp_NACA0012.timeout = 1600 discadj_incomp_NACA0012.tol = 0.00001 test_list.append(discadj_incomp_NACA0012) ##################################### ### Disc. adj. incompressible N-S ### ##################################### # Adjoint Incompressible Viscous Cylinder discadj_incomp_cylinder = TestCase('discadj_incomp_cylinder') discadj_incomp_cylinder.cfg_dir = "cont_adj_incomp_navierstokes/cylinder" discadj_incomp_cylinder.cfg_file = "lam_incomp_cylinder_disc.cfg" discadj_incomp_cylinder.test_iter = 20 discadj_incomp_cylinder.test_vals = [ -2.731029, -2.243767, 0.000000, 0.000000 ] #last 4 columns discadj_incomp_cylinder.su2_exec = "SU2_CFD_AD" discadj_incomp_cylinder.timeout = 1600 discadj_incomp_cylinder.tol = 0.00001 test_list.append(discadj_incomp_cylinder) ###################################### ### Disc. adj. incompressible RANS ### ###################################### # Adjoint Incompressible Turbulent NACA 0012 discadj_incomp_turb_NACA0012 = TestCase('discadj_incomp_turb_NACA0012') discadj_incomp_turb_NACA0012.cfg_dir = "incomp_rans/naca0012" discadj_incomp_turb_NACA0012.cfg_file = "naca0012_disc.cfg" discadj_incomp_turb_NACA0012.test_iter = 100 discadj_incomp_turb_NACA0012.test_vals = [ -3.645349, -1.625510, 0.000000, 0.000000 ] #last 4 columns discadj_incomp_turb_NACA0012.su2_exec = "SU2_CFD_AD" discadj_incomp_turb_NACA0012.timeout = 1600 discadj_incomp_turb_NACA0012.tol = 0.00001 test_list.append(discadj_incomp_turb_NACA0012) ####################################################### ### Unsteady Disc. adj. compressible RANS ### ####################################################### # Turbulent Cylinder discadj_cylinder = TestCase('unsteady_cylinder') discadj_cylinder.cfg_dir = "disc_adj_rans/cylinder" discadj_cylinder.cfg_file = "cylinder.cfg" discadj_cylinder.test_iter = 9 discadj_cylinder.test_vals = [3.746904, -1.544886, -0.008345, 0.000014] #last 4 columns discadj_cylinder.su2_exec = "SU2_CFD_AD" discadj_cylinder.timeout = 1600 discadj_cylinder.tol = 0.00001 discadj_cylinder.unsteady = True test_list.append(discadj_cylinder) ################################### ### Structural Adjoint ### ################################### # Structural model discadj_fea = TestCase('discadj_fea') discadj_fea.cfg_dir = "disc_adj_fea" discadj_fea.cfg_file = "configAD_fem.cfg" discadj_fea.test_iter = 9 discadj_fea.test_vals = [-6.403771, -6.404196, -3.6413e-04, -8.7087e+00] #last 4 columns discadj_fea.su2_exec = "SU2_CFD_AD" discadj_fea.timeout = 1600 discadj_fea.tol = 0.00001 test_list.append(discadj_fea) ################################### ### Coupled FSI Adjoint ### ################################### # Structural model discadj_fsi = TestCase('discadj_fsi') discadj_fsi.cfg_dir = "disc_adj_fsi" discadj_fsi.cfg_file = "configAD_fsi.cfg" discadj_fsi.test_iter = 3000 discadj_fsi.test_vals = [0.958848, -0.157183, 0.658415, 1.302076] #last 4 columns discadj_fsi.su2_exec = "SU2_CFD_AD" discadj_fsi.timeout = 1600 discadj_fsi.tol = 0.00001 test_list.append(discadj_fsi) ###################################### ### RUN TESTS ### ###################################### pass_list = [test.run_test() for test in test_list] ###################################### ### RUN PYTHON TESTS ### ###################################### # test discrete_adjoint.py discadj_euler_py = TestCase('discadj_euler_py') discadj_euler_py.cfg_dir = "cont_adj_euler/naca0012" discadj_euler_py.cfg_file = "inv_NACA0012.cfg" discadj_euler_py.test_iter = 10 discadj_euler_py.su2_exec = "discrete_adjoint.py" discadj_euler_py.timeout = 1600 discadj_euler_py.reference_file = "of_grad_cd_disc.dat.ref" discadj_euler_py.test_file = "of_grad_cd.dat" pass_list.append(discadj_euler_py.run_filediff()) test_list.append(discadj_euler_py) # test direct_differentiation.py directdiff_euler_py = TestCase('directdiff_euler_py') directdiff_euler_py.cfg_dir = "cont_adj_euler/naca0012" directdiff_euler_py.cfg_file = "inv_NACA0012_FD.cfg" directdiff_euler_py.test_iter = 10 directdiff_euler_py.su2_exec = "direct_differentiation.py" directdiff_euler_py.timeout = 1600 directdiff_euler_py.reference_file = "of_grad_directdiff.dat.ref" directdiff_euler_py.test_file = "DIRECTDIFF/of_grad_directdiff.dat" pass_list.append(directdiff_euler_py.run_filediff()) test_list.append(directdiff_euler_py) # test continuous_adjoint.py, with multiple objectives discadj_multi_py = TestCase('discadj_multi_py') discadj_multi_py.cfg_dir = "cont_adj_euler/wedge" discadj_multi_py.cfg_file = "inv_wedge_ROE_multiobj.cfg" discadj_multi_py.test_iter = 10 discadj_multi_py.su2_exec = "discrete_adjoint.py" discadj_multi_py.timeout = 1600 discadj_multi_py.reference_file = "of_grad_combo.dat.refdiscrete" discadj_multi_py.test_file = "of_grad_combo.dat" pass_list.append(discadj_multi_py.run_filediff()) test_list.append(discadj_multi_py) # Tests summary print('==================================================================') print('Summary of the serial tests') print('python version:', sys.version) for i, test in enumerate(test_list): if (pass_list[i]): print(' passed - %s' % test.tag) else: print('* FAILED - %s' % test.tag) if all(pass_list): sys.exit(0) else: sys.exit(1)
def checkForLog(self): self.test = WasRun("testMethod") self.test.run(self.result) assert path.isfile("C:/Nathans Python Folder/log.txt")
def main(): '''This program runs SU2 and ensures that the output matches specified values. This will be used to do checks when code is pushed to github to make sure nothing is broken. ''' test_list = [] ########################## ### Compressible Euler ### ########################## # Channel channel = TestCase('channel') channel.cfg_dir = "euler/channel" channel.cfg_file = "inv_channel_RK.cfg" channel.test_iter = 100 channel.test_vals = [-3.071007, 2.301191, 0.008562, 0.028922] #last 4 columns channel.su2_exec = "parallel_computation.py -f" channel.timeout = 1600 channel.tol = 0.00001 test_list.append(channel) # NACA0012 naca0012 = TestCase('naca0012') naca0012.cfg_dir = "euler/naca0012" naca0012.cfg_file = "inv_NACA0012_Roe.cfg" naca0012.test_iter = 100 naca0012.test_vals = [-6.237188, -5.641250, 0.334843, 0.022206] #last 4 columns naca0012.su2_exec = "parallel_computation.py -f" naca0012.timeout = 1600 naca0012.tol = 0.00001 test_list.append(naca0012) # Supersonic wedge wedge = TestCase('wedge') wedge.cfg_dir = "euler/wedge" wedge.cfg_file = "inv_wedge_HLLC.cfg" wedge.test_iter = 100 wedge.test_vals = [-1.690232, 3.924432, -0.252221, 0.044419] #last 4 columns wedge.su2_exec = "parallel_computation.py -f" wedge.timeout = 1600 wedge.tol = 0.00001 test_list.append(wedge) # ONERA M6 Wing oneram6 = TestCase('oneram6') oneram6.cfg_dir = "euler/oneram6" oneram6.cfg_file = "inv_ONERAM6.cfg" oneram6.test_iter = 10 oneram6.test_vals = [-13.400678, -12.932056, 0.282557, 0.012706] #last 4 columns oneram6.su2_exec = "parallel_computation.py -f" oneram6.timeout = 3200 oneram6.tol = 0.00001 test_list.append(oneram6) ########################## ### Compressible N-S ### ########################## # Laminar flat plate flatplate = TestCase('flatplate') flatplate.cfg_dir = "navierstokes/flatplate" flatplate.cfg_file = "lam_flatplate.cfg" flatplate.test_iter = 100 flatplate.test_vals = [-5.231743, 0.261628, -0.166871, 0.012706] #last 4 columns flatplate.su2_exec = "parallel_computation.py -f" flatplate.timeout = 1600 flatplate.tol = 0.00001 test_list.append(flatplate) # Laminar cylinder (steady) cylinder = TestCase('cylinder') cylinder.cfg_dir = "navierstokes/cylinder" cylinder.cfg_file = "lam_cylinder.cfg" cylinder.test_iter = 25 cylinder.test_vals = [-6.757291, -1.289309, -0.125948, 0.625438] #last 4 columns cylinder.su2_exec = "parallel_computation.py -f" cylinder.timeout = 1600 cylinder.tol = 0.00001 test_list.append(cylinder) # Laminar cylinder (low Mach correction) cylinder_lowmach = TestCase('cylinder_lowmach') cylinder_lowmach.cfg_dir = "navierstokes/cylinder" cylinder_lowmach.cfg_file = "cylinder_lowmach.cfg" cylinder_lowmach.test_iter = 25 cylinder_lowmach.test_vals = [-6.861860, -1.399846, -1.557250, 110.230719] #last 4 columns cylinder_lowmach.su2_exec = "parallel_computation.py -f" cylinder_lowmach.timeout = 1600 cylinder_lowmach.tol = 0.00001 test_list.append(cylinder_lowmach) ########################## ### Compressible RANS ### ########################## # RAE2822 SA rae2822_sa = TestCase('rae2822_sa') rae2822_sa.cfg_dir = "rans/rae2822" rae2822_sa.cfg_file = "turb_SA_RAE2822.cfg" rae2822_sa.test_iter = 100 rae2822_sa.test_vals = [-3.647743, -5.442583, 0.903159, 0.025800] #last 4 columns rae2822_sa.su2_exec = "parallel_computation.py -f" rae2822_sa.timeout = 1600 rae2822_sa.tol = 0.00001 test_list.append(rae2822_sa) # RAE2822 SST rae2822_sst = TestCase('rae2822_sst') rae2822_sst.cfg_dir = "rans/rae2822" rae2822_sst.cfg_file = "turb_SST_RAE2822.cfg" rae2822_sst.test_iter = 100 rae2822_sst.test_vals = [-1.198777, 4.013989, 0.904265, 0.025941] #last 4 columns rae2822_sst.su2_exec = "parallel_computation.py -f" rae2822_sst.timeout = 1600 rae2822_sst.tol = 0.00001 test_list.append(rae2822_sst) # Flat plate turb_flatplate = TestCase('turb_flatplate') turb_flatplate.cfg_dir = "rans/flatplate" turb_flatplate.cfg_file = "turb_SA_flatplate.cfg" turb_flatplate.test_iter = 100 turb_flatplate.test_vals = [-5.071289, -7.366446, -0.187145, 0.010957] #last 4 columns turb_flatplate.su2_exec = "parallel_computation.py -f" turb_flatplate.timeout = 1600 turb_flatplate.tol = 0.00001 test_list.append(turb_flatplate) # ONERA M6 Wing turb_oneram6 = TestCase('turb_oneram6') turb_oneram6.cfg_dir = "rans/oneram6" turb_oneram6.cfg_file = "turb_ONERAM6.cfg" turb_oneram6.test_iter = 10 turb_oneram6.test_vals = [-2.327509, -6.563372, 0.230438, 0.155815] #last 4 columns turb_oneram6.su2_exec = "parallel_computation.py -f" turb_oneram6.timeout = 3200 turb_oneram6.tol = 0.00001 test_list.append(turb_oneram6) # NACA0012 (SA, FUN3D finest grid results: CL=1.0983, CD=0.01242) turb_naca0012_sa = TestCase('turb_naca0012_sa') turb_naca0012_sa.cfg_dir = "rans/naca0012" turb_naca0012_sa.cfg_file = "turb_NACA0012_sa.cfg" turb_naca0012_sa.test_iter = 10 turb_naca0012_sa.test_vals = [-12.000764, -9.145363, 1.070528, 0.019417] #last 4 columns turb_naca0012_sa.su2_exec = "parallel_computation.py -f" turb_naca0012_sa.timeout = 3200 turb_naca0012_sa.tol = 0.00001 test_list.append(turb_naca0012_sa) # NACA0012 (SST, FUN3D finest grid results: CL=1.0840, CD=0.01253) turb_naca0012_sst = TestCase('turb_naca0012_sst') turb_naca0012_sst.cfg_dir = "rans/naca0012" turb_naca0012_sst.cfg_file = "turb_NACA0012_sst.cfg" turb_naca0012_sst.test_iter = 10 turb_naca0012_sst.test_vals = [-15.039645, -7.220177, 1.059622, 0.019138] #last 4 columns turb_naca0012_sst.su2_exec = "parallel_computation.py -f" turb_naca0012_sst.timeout = 3200 turb_naca0012_sst.tol = 0.00001 test_list.append(turb_naca0012_sst) ############################ ### Incompressible RANS ### ############################ # NACA0012 inc_turb_naca0012 = TestCase('inc_turb_naca0012') inc_turb_naca0012.cfg_dir = "incomp_rans/naca0012" inc_turb_naca0012.cfg_file = "naca0012.cfg" inc_turb_naca0012.test_iter = 20 inc_turb_naca0012.test_vals = [-4.710048, -11.007498, 0.000002, 0.210441] #last 4 columns inc_turb_naca0012.su2_exec = "parallel_computation.py -f" inc_turb_naca0012.timeout = 1600 inc_turb_naca0012.tol = 0.00001 test_list.append(inc_turb_naca0012) ##################################### ### Cont. adj. compressible Euler ### ##################################### # Inviscid NACA0012 contadj_naca0012 = TestCase('contadj_naca0012') contadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" contadj_naca0012.cfg_file = "inv_NACA0012.cfg" contadj_naca0012.test_iter = 5 contadj_naca0012.test_vals = [-9.783712, -15.192812, 0.300920, 0.536870] #last 4 columns contadj_naca0012.su2_exec = "parallel_computation.py -f" contadj_naca0012.timeout = 1600 contadj_naca0012.tol = 0.00001 test_list.append(contadj_naca0012) # Inviscid ONERA M6 contadj_oneram6 = TestCase('contadj_oneram6') contadj_oneram6.cfg_dir = "cont_adj_euler/oneram6" contadj_oneram6.cfg_file = "inv_ONERAM6.cfg" contadj_oneram6.test_iter = 10 contadj_oneram6.test_vals = [-12.131587, -12.703243, 0.685900, 0.140920] #last 4 columns contadj_oneram6.su2_exec = "parallel_computation.py -f" contadj_oneram6.timeout = 1600 contadj_oneram6.tol = 0.00001 test_list.append(contadj_oneram6) # Inviscid WEDGE: generalized adjoint and custom DV contadj_wedge = TestCase('contadj_wedge') contadj_wedge.cfg_dir = "cont_adj_euler/wedge" contadj_wedge.cfg_file = "inv_wedge_ROE.cfg" contadj_wedge.test_iter = 10 contadj_wedge.test_vals = [-7.364977, -13.301134, 0.000266, 0.000000] #last 4 columns contadj_wedge.su2_exec = "parallel_computation.py -f" contadj_wedge.timeout = 1600 contadj_wedge.tol = 0.00001 test_list.append(contadj_wedge) ################################### ### Cont. adj. compressible N-S ### ################################### # Adjoint laminar cylinder contadj_ns_cylinder = TestCase('contadj_ns_cylinder') contadj_ns_cylinder.cfg_dir = "cont_adj_navierstokes/cylinder" contadj_ns_cylinder.cfg_file = "lam_cylinder.cfg" contadj_ns_cylinder.test_iter = 100 contadj_ns_cylinder.test_vals = [ -3.659040, -9.117773, -2.056700, 4.497000 ] #last 4 columns contadj_ns_cylinder.su2_exec = "parallel_computation.py -f" contadj_ns_cylinder.timeout = 1600 contadj_ns_cylinder.tol = 0.00001 test_list.append(contadj_ns_cylinder) # Adjoint laminar naca0012 subsonic contadj_ns_naca0012_sub = TestCase('contadj_ns_naca0012_sub') contadj_ns_naca0012_sub.cfg_dir = "cont_adj_navierstokes/naca0012_sub" contadj_ns_naca0012_sub.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_sub.test_iter = 100 contadj_ns_naca0012_sub.test_vals = [ -2.744551, -8.216469, 0.518810, 0.229160 ] #last 4 columns contadj_ns_naca0012_sub.su2_exec = "parallel_computation.py -f" contadj_ns_naca0012_sub.timeout = 1600 contadj_ns_naca0012_sub.tol = 0.00001 test_list.append(contadj_ns_naca0012_sub) # Adjoint laminar naca0012 transonic contadj_ns_naca0012_trans = TestCase('contadj_ns_naca0012_trans') contadj_ns_naca0012_trans.cfg_dir = "cont_adj_navierstokes/naca0012_trans" contadj_ns_naca0012_trans.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_trans.test_iter = 100 contadj_ns_naca0012_trans.test_vals = [ -1.041539, -6.578524, 1.772300, 0.620880 ] #last 4 columns contadj_ns_naca0012_trans.su2_exec = "parallel_computation.py -f" contadj_ns_naca0012_trans.timeout = 1600 contadj_ns_naca0012_trans.tol = 0.00001 test_list.append(contadj_ns_naca0012_trans) ####################################################### ### Cont. adj. compressible RANS (frozen viscosity) ### ####################################################### # Adjoint turbulent NACA0012 contadj_rans_naca0012 = TestCase('contadj_rans_naca0012') contadj_rans_naca0012.cfg_dir = "cont_adj_rans/naca0012" contadj_rans_naca0012.cfg_file = "turb_nasa.cfg" contadj_rans_naca0012.test_iter = 100 contadj_rans_naca0012.test_vals = [ -0.814757, -5.726517, -19.169000, -2.994100 ] #last 4 columns contadj_rans_naca0012.su2_exec = "parallel_computation.py -f" contadj_rans_naca0012.timeout = 1600 contadj_rans_naca0012.tol = 0.00001 test_list.append(contadj_rans_naca0012) # Adjoint turbulent RAE2822 contadj_rans_rae2822 = TestCase('contadj_rans_rae822') contadj_rans_rae2822.cfg_dir = "cont_adj_rans/rae2822" contadj_rans_rae2822.cfg_file = "turb_SA_RAE2822.cfg" contadj_rans_rae2822.test_iter = 100 contadj_rans_rae2822.test_vals = [ -5.380929, -10.886092, -0.212470, 0.269390 ] #last 4 columns contadj_rans_rae2822.su2_exec = "parallel_computation.py -f" contadj_rans_rae2822.timeout = 1600 contadj_rans_rae2822.tol = 0.00001 test_list.append(contadj_rans_rae2822) ####################################### ### Cont. adj. incompressible Euler ### ####################################### # Adjoint Incompressible Inviscid NACA0012 contadj_incomp_NACA0012 = TestCase('contadj_incomp_NACA0012') contadj_incomp_NACA0012.cfg_dir = "cont_adj_incomp_euler/naca0012" contadj_incomp_NACA0012.cfg_file = "incomp_NACA0012.cfg" contadj_incomp_NACA0012.test_iter = 5 contadj_incomp_NACA0012.test_vals = [ -11.968536, -12.133235, 1.939900, 0.000000 ] #last 4 columns contadj_incomp_NACA0012.su2_exec = "parallel_computation.py -f" contadj_incomp_NACA0012.timeout = 1600 contadj_incomp_NACA0012.tol = 0.00001 test_list.append(contadj_incomp_NACA0012) ##################################### ### Cont. adj. incompressible N-S ### ##################################### # Adjoint Incompressible Viscous Cylinder contadj_incomp_cylinder = TestCase('contadj_incomp_cylinder') contadj_incomp_cylinder.cfg_dir = "cont_adj_incomp_navierstokes/cylinder" contadj_incomp_cylinder.cfg_file = "lam_incomp_cylinder.cfg" contadj_incomp_cylinder.test_iter = 25 contadj_incomp_cylinder.test_vals = [ -5.718840, -7.012324, -2.932100, 0.000000 ] #last 4 columns contadj_incomp_cylinder.su2_exec = "parallel_computation.py -f" contadj_incomp_cylinder.timeout = 1600 contadj_incomp_cylinder.tol = 0.00001 test_list.append(contadj_incomp_cylinder) ###################################### ### Moving Wall ### ###################################### # Lid-driven cavity cavity = TestCase('cavity') cavity.cfg_dir = "moving_wall/cavity" cavity.cfg_file = "lam_cavity.cfg" cavity.test_iter = 25 cavity.test_vals = [-5.597018, -0.133158, 0.169034, 0.821371] #last 4 columns cavity.su2_exec = "parallel_computation.py -f" cavity.timeout = 1600 cavity.tol = 0.00001 test_list.append(cavity) # Spinning cylinder spinning_cylinder = TestCase('spinning_cylinder') spinning_cylinder.cfg_dir = "moving_wall/spinning_cylinder" spinning_cylinder.cfg_file = "spinning_cylinder.cfg" spinning_cylinder.test_iter = 25 spinning_cylinder.test_vals = [-7.648320, -2.202753, 1.236836, 1.609040] #last 4 columns spinning_cylinder.su2_exec = "parallel_computation.py -f" spinning_cylinder.timeout = 1600 spinning_cylinder.tol = 0.00001 test_list.append(spinning_cylinder) ###################################### ### Unsteady ### ###################################### # Square cylinder square_cylinder = TestCase('square_cylinder') square_cylinder.cfg_dir = "unsteady/square_cylinder" square_cylinder.cfg_file = "turb_square.cfg" square_cylinder.test_iter = 3 square_cylinder.test_vals = [-1.544602, 0.048576, 1.398951, 2.196894] #last 4 columns square_cylinder.su2_exec = "parallel_computation.py -f" square_cylinder.timeout = 1600 square_cylinder.tol = 0.00001 test_list.append(square_cylinder) # Gust sine_gust = TestCase('sine_gust') sine_gust.cfg_dir = "gust" sine_gust.cfg_file = "inv_gust_NACA0012.cfg" sine_gust.test_iter = 5 sine_gust.test_vals = [-1.977531, 3.481790, -0.014552, -0.004969] #last 4 columns sine_gust.su2_exec = "parallel_computation.py -f" sine_gust.timeout = 1600 sine_gust.tol = 0.00001 sine_gust.unsteady = True test_list.append(sine_gust) # Aeroelastic aeroelastic = TestCase('aeroelastic') aeroelastic.cfg_dir = "aeroelastic" aeroelastic.cfg_file = "aeroelastic_NACA64A010.cfg" aeroelastic.test_iter = 2 aeroelastic.test_vals = [0.077169, 0.036452, -0.001685, -0.000113] #last 4 columns aeroelastic.su2_exec = "parallel_computation.py -f" aeroelastic.timeout = 1600 aeroelastic.tol = 0.000001 aeroelastic.unsteady = True test_list.append(aeroelastic) ###################################### ### NICFD ### ###################################### # Rarefaction shock wave edge_VW edge_VW = TestCase('edge_VW') edge_VW.cfg_dir = "nicf/edge" edge_VW.cfg_file = "edge_VW.cfg" edge_VW.test_iter = 100 edge_VW.test_vals = [-5.058481, 1.115321, -0.000009, 0.000000] #last 4 columns edge_VW.su2_exec = "parallel_computation.py -f" edge_VW.timeout = 1600 edge_VW.tol = 0.00001 test_list.append(edge_VW) # Rarefaction shock wave edge_PPR edge_PPR = TestCase('edge_PPR') edge_PPR.cfg_dir = "nicf/edge" edge_PPR.cfg_file = "edge_PPR.cfg" edge_PPR.test_iter = 100 edge_PPR.test_vals = [-5.486409, 0.654417, -0.000037, 0.000000] #last 4 columns edge_PPR.su2_exec = "parallel_computation.py -f" edge_PPR.timeout = 1600 edge_PPR.tol = 0.00001 test_list.append(edge_PPR) ########################## ### FEA - FSI ### ########################## # Static beam, 3d statbeam3d = TestCase('statbeam3d') statbeam3d.cfg_dir = "fea_fsi/StatBeam_3d" statbeam3d.cfg_file = "configBeam_3d.cfg" statbeam3d.test_iter = 0 statbeam3d.test_vals = [-8.520066, -8.069308, -8.062384, 64095.000000] #last 4 columns statbeam3d.su2_exec = "parallel_computation_fsi.py -f" statbeam3d.timeout = 1600 statbeam3d.tol = 0.00001 test_list.append(statbeam3d) # Dynamic beam, 2d dynbeam2d = TestCase('dynbeam2d') dynbeam2d.cfg_dir = "fea_fsi/DynBeam_2d" dynbeam2d.cfg_file = "configBeam_2d.cfg" dynbeam2d.test_iter = 6 dynbeam2d.test_vals = [-9.420641, -5.365871, -12.430382, 6.5210e+04] #last 4 columns dynbeam2d.su2_exec = "parallel_computation_fsi.py -f" dynbeam2d.timeout = 1600 dynbeam2d.tol = 0.00001 test_list.append(dynbeam2d) # FSI, 2d fsi2d = TestCase('fsi2d') fsi2d.cfg_dir = "fea_fsi/WallChannel_2d" fsi2d.cfg_file = "configFSI_2D.cfg" fsi2d.test_iter = 4 fsi2d.test_vals = [2, 0.500000, -7.779707, -1.141608] #last 4 columns fsi2d.su2_exec = "parallel_computation_fsi.py -f" fsi2d.timeout = 1600 fsi2d.tol = 0.00001 test_list.append(fsi2d) ###################################### ### RUN TESTS ### ###################################### pass_list = [test.run_test() for test in test_list] # Tests summary print '==================================================================' print 'Summary of the parallel tests' for i, test in enumerate(test_list): if (pass_list[i]): print ' passed - %s' % test.tag else: print '* FAILED - %s' % test.tag if all(pass_list): sys.exit(0) else: sys.exit(1)
def main(): """This program runs SU2 and ensures that the output matches specified values. This will be used to do checks when code is pushed to github to make sure nothing is broken. """ test_list = [] ########################## ### Compressible Euler ### ########################## # Channel channel = TestCase("channel") channel.cfg_dir = "euler/channel" channel.cfg_file = "inv_channel_RK.cfg" channel.test_iter = 100 channel.test_vals = [-3.110240, 2.263506, 0.008686, 0.029098] # last 4 columns channel.su2_exec = "SU2_CFD" channel.timeout = 1600 channel.tol = 0.00001 test_list.append(channel) # NACA0012 naca0012 = TestCase("naca0012") naca0012.cfg_dir = "euler/naca0012" naca0012.cfg_file = "inv_NACA0012_Roe.cfg" naca0012.test_iter = 100 naca0012.test_vals = [-6.191618, -5.592802, 0.334809, 0.022197] # last 4 columns naca0012.su2_exec = "SU2_CFD" naca0012.timeout = 1600 naca0012.tol = 0.00001 test_list.append(naca0012) # Supersonic wedge wedge = TestCase("wedge") wedge.cfg_dir = "euler/wedge" wedge.cfg_file = "inv_wedge_HLLC.cfg" wedge.test_iter = 100 wedge.test_vals = [-1.769374, 3.848733, -0.252191, 0.044410] # last 4 columns wedge.su2_exec = "SU2_CFD" wedge.timeout = 1600 wedge.tol = 0.00001 test_list.append(wedge) # ONERA M6 Wing oneram6 = TestCase("oneram6") oneram6.cfg_dir = "euler/oneram6" oneram6.cfg_file = "inv_ONERAM6.cfg" oneram6.test_iter = 10 oneram6.test_vals = [-13.393130, -12.928941, 0.282557, 0.012706] # last 4 columns oneram6.su2_exec = "SU2_CFD" oneram6.timeout = 9600 oneram6.tol = 0.00001 test_list.append(oneram6) ########################## ### Compressible N-S ### ########################## # Laminar flat plate flatplate = TestCase("flatplate") flatplate.cfg_dir = "navierstokes/flatplate" flatplate.cfg_file = "lam_flatplate.cfg" flatplate.test_iter = 100 flatplate.test_vals = [-5.231916, 0.261866, -0.166832, 0.012717] # last 4 columns flatplate.su2_exec = "SU2_CFD" flatplate.timeout = 1600 flatplate.tol = 0.00001 test_list.append(flatplate) # Laminar cylinder (steady) cylinder = TestCase("cylinder") cylinder.cfg_dir = "navierstokes/cylinder" cylinder.cfg_file = "lam_cylinder.cfg" cylinder.test_iter = 25 cylinder.test_vals = [-6.765426, -1.297422, 0.019496, 0.310082] # last 4 columns cylinder.su2_exec = "SU2_CFD" cylinder.timeout = 1600 cylinder.tol = 0.00001 test_list.append(cylinder) # Laminar cylinder (low Mach correction) cylinder_lowmach = TestCase("cylinder_lowmach") cylinder_lowmach.cfg_dir = "navierstokes/cylinder" cylinder_lowmach.cfg_file = "cylinder_lowmach.cfg" cylinder_lowmach.test_iter = 25 cylinder_lowmach.test_vals = [-6.850123, -1.388088, -0.056090, 108.140177] # last 4 columns cylinder_lowmach.su2_exec = "SU2_CFD" cylinder_lowmach.timeout = 1600 cylinder_lowmach.tol = 0.00001 test_list.append(cylinder_lowmach) ########################## ### Compressible RANS ### ########################## # RAE2822 SA rae2822_sa = TestCase("rae2822_sa") rae2822_sa.cfg_dir = "rans/rae2822" rae2822_sa.cfg_file = "turb_SA_RAE2822.cfg" rae2822_sa.test_iter = 100 rae2822_sa.test_vals = [-3.442524, -5.441383, 0.884279, 0.024730] # last 4 columns rae2822_sa.su2_exec = "SU2_CFD" rae2822_sa.timeout = 1600 rae2822_sa.tol = 0.00001 test_list.append(rae2822_sa) # RAE2822 SST rae2822_sst = TestCase("rae2822_sst") rae2822_sst.cfg_dir = "rans/rae2822" rae2822_sst.cfg_file = "turb_SST_RAE2822.cfg" rae2822_sst.test_iter = 100 rae2822_sst.test_vals = [-1.185243, 4.018464, 0.886786, 0.024927] # last 4 columns rae2822_sst.su2_exec = "SU2_CFD" rae2822_sst.timeout = 1600 rae2822_sst.tol = 0.00001 test_list.append(rae2822_sst) # Flat plate turb_flatplate = TestCase("turb_flatplate") turb_flatplate.cfg_dir = "rans/flatplate" turb_flatplate.cfg_file = "turb_SA_flatplate.cfg" turb_flatplate.test_iter = 100 turb_flatplate.test_vals = [-5.069447, -7.354601, -0.187187, 0.010831] # last 4 columns turb_flatplate.su2_exec = "SU2_CFD" turb_flatplate.timeout = 1600 turb_flatplate.tol = 0.00001 test_list.append(turb_flatplate) # ONERA M6 Wing turb_oneram6 = TestCase("turb_oneram6") turb_oneram6.cfg_dir = "rans/oneram6" turb_oneram6.cfg_file = "turb_ONERAM6.cfg" turb_oneram6.test_iter = 10 turb_oneram6.test_vals = [-2.327509, -6.563372, 0.230438, 0.155815] # last 4 columns turb_oneram6.su2_exec = "SU2_CFD" turb_oneram6.timeout = 3200 turb_oneram6.tol = 0.00001 test_list.append(turb_oneram6) # NACA0012 (SA, FUN3D results for finest grid: CL=1.0983, CD=0.01242) turb_naca0012_sa = TestCase("turb_naca0012_sa") turb_naca0012_sa.cfg_dir = "rans/naca0012" turb_naca0012_sa.cfg_file = "turb_NACA0012_sa.cfg" turb_naca0012_sa.test_iter = 10 turb_naca0012_sa.test_vals = [-12.000763, -9.145363, 1.070528, 0.019417] # last 4 columns turb_naca0012_sa.su2_exec = "SU2_CFD" turb_naca0012_sa.timeout = 3200 turb_naca0012_sa.tol = 0.00001 test_list.append(turb_naca0012_sa) # NACA0012 (SST, FUN3D results for finest grid: CL=1.0840, CD=0.01253) turb_naca0012_sst = TestCase("turb_naca0012_sst") turb_naca0012_sst.cfg_dir = "rans/naca0012" turb_naca0012_sst.cfg_file = "turb_NACA0012_sst.cfg" turb_naca0012_sst.test_iter = 10 turb_naca0012_sst.test_vals = [-15.039675, -7.219913, 1.059622, 0.019138] # last 4 columns turb_naca0012_sst.su2_exec = "SU2_CFD" turb_naca0012_sst.timeout = 3200 turb_naca0012_sst.tol = 0.00001 test_list.append(turb_naca0012_sst) ############################ ### Incompressible RANS ### ############################ # NACA0012 inc_turb_naca0012 = TestCase("inc_turb_naca0012") inc_turb_naca0012.cfg_dir = "incomp_rans/naca0012" inc_turb_naca0012.cfg_file = "naca0012.cfg" inc_turb_naca0012.test_iter = 20 inc_turb_naca0012.test_vals = [-4.710052, -11.007500, -0.000001, 0.210445] # last 4 columns inc_turb_naca0012.su2_exec = "SU2_CFD" inc_turb_naca0012.timeout = 1600 inc_turb_naca0012.tol = 0.00001 test_list.append(inc_turb_naca0012) ##################################### ### Cont. adj. compressible Euler ### ##################################### # Inviscid NACA0012 contadj_naca0012 = TestCase("contadj_naca0012") contadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" contadj_naca0012.cfg_file = "inv_NACA0012.cfg" contadj_naca0012.test_iter = 5 contadj_naca0012.test_vals = [-9.787554, -15.192510, 0.300920, 0.536870] # last 4 columns contadj_naca0012.su2_exec = "SU2_CFD" contadj_naca0012.timeout = 1600 contadj_naca0012.tol = 0.00001 test_list.append(contadj_naca0012) # Inviscid ONERA M6 contadj_oneram6 = TestCase("contadj_oneram6") contadj_oneram6.cfg_dir = "cont_adj_euler/oneram6" contadj_oneram6.cfg_file = "inv_ONERAM6.cfg" contadj_oneram6.test_iter = 10 contadj_oneram6.test_vals = [-12.133352, -12.707213, 6.8590e-01, 1.4092e-01] # last 4 columns contadj_oneram6.su2_exec = "SU2_CFD" contadj_oneram6.timeout = 1600 contadj_oneram6.tol = 0.00001 test_list.append(contadj_oneram6) # Inviscid WEDGE: generalized adjoint and custom DV contadj_wedge = TestCase("contadj_wedge") contadj_wedge.cfg_dir = "cont_adj_euler/wedge" contadj_wedge.cfg_file = "inv_wedge_ROE.cfg" contadj_wedge.test_iter = 10 contadj_wedge.test_vals = [-7.364977, -13.301134, 0.000266, 0.000000] # last 4 columns contadj_wedge.su2_exec = "SU2_CFD" contadj_wedge.timeout = 1600 contadj_wedge.tol = 0.00001 test_list.append(contadj_wedge) ################################### ### Cont. adj. compressible N-S ### ################################### # Adjoint laminar cylinder contadj_ns_cylinder = TestCase("contadj_ns_cylinder") contadj_ns_cylinder.cfg_dir = "cont_adj_navierstokes/cylinder" contadj_ns_cylinder.cfg_file = "lam_cylinder.cfg" contadj_ns_cylinder.test_iter = 100 contadj_ns_cylinder.test_vals = [-3.677184, -9.141850, -2.056700, 4.497000] # last 4 columns contadj_ns_cylinder.su2_exec = "SU2_CFD" contadj_ns_cylinder.timeout = 1600 contadj_ns_cylinder.tol = 0.00001 test_list.append(contadj_ns_cylinder) # Adjoint laminar naca0012 subsonic contadj_ns_naca0012_sub = TestCase("contadj_ns_naca0012_sub") contadj_ns_naca0012_sub.cfg_dir = "cont_adj_navierstokes/naca0012_sub" contadj_ns_naca0012_sub.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_sub.test_iter = 100 contadj_ns_naca0012_sub.test_vals = [-2.744551, -8.216469, 0.518810, 0.229160] # last 4 columns contadj_ns_naca0012_sub.su2_exec = "SU2_CFD" contadj_ns_naca0012_sub.timeout = 1600 contadj_ns_naca0012_sub.tol = 0.00001 test_list.append(contadj_ns_naca0012_sub) # Adjoint laminar naca0012 transonic contadj_ns_naca0012_trans = TestCase("contadj_ns_naca0012_trans") contadj_ns_naca0012_trans.cfg_dir = "cont_adj_navierstokes/naca0012_trans" contadj_ns_naca0012_trans.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_trans.test_iter = 100 contadj_ns_naca0012_trans.test_vals = [-1.041539, -6.578524, 1.772300, 0.620880] # last 4 columns contadj_ns_naca0012_trans.su2_exec = "SU2_CFD" contadj_ns_naca0012_trans.timeout = 1600 contadj_ns_naca0012_trans.tol = 0.00001 test_list.append(contadj_ns_naca0012_trans) ####################################################### ### Cont. adj. compressible RANS (frozen viscosity) ### ####################################################### # Adjoint turbulent NACA0012 contadj_rans_naca0012 = TestCase("contadj_rans_naca0012") contadj_rans_naca0012.cfg_dir = "cont_adj_rans/naca0012" contadj_rans_naca0012.cfg_file = "turb_nasa.cfg" contadj_rans_naca0012.test_iter = 100 contadj_rans_naca0012.test_vals = [-0.814757, -5.726517, -19.169000, -2.994100] # last 4 columns contadj_rans_naca0012.su2_exec = "SU2_CFD" contadj_rans_naca0012.timeout = 1600 contadj_rans_naca0012.tol = 0.00001 test_list.append(contadj_rans_naca0012) # Adjoint turbulent RAE2822 contadj_rans_rae2822 = TestCase("contadj_rans_rae2822") contadj_rans_rae2822.cfg_dir = "cont_adj_rans/rae2822" contadj_rans_rae2822.cfg_file = "turb_SA_RAE2822.cfg" contadj_rans_rae2822.test_iter = 100 contadj_rans_rae2822.test_vals = [-5.377843, -10.882446, -0.212470, 0.269390] # last 4 columns contadj_rans_rae2822.su2_exec = "SU2_CFD" contadj_rans_rae2822.timeout = 1600 contadj_rans_rae2822.tol = 0.00001 test_list.append(contadj_rans_rae2822) ####################################### ### Cont. adj. incompressible Euler ### ####################################### # Adjoint Incompressible Inviscid NACA0012 contadj_incomp_NACA0012 = TestCase("contadj_incomp_NACA0012") contadj_incomp_NACA0012.cfg_dir = "cont_adj_incomp_euler/naca0012" contadj_incomp_NACA0012.cfg_file = "incomp_NACA0012.cfg" contadj_incomp_NACA0012.test_iter = 5 contadj_incomp_NACA0012.test_vals = [-11.980272, -12.146779, 1.9399, 0.000000] # last 4 columns contadj_incomp_NACA0012.su2_exec = "SU2_CFD" contadj_incomp_NACA0012.timeout = 1600 contadj_incomp_NACA0012.tol = 0.00001 test_list.append(contadj_incomp_NACA0012) ##################################### ### Cont. adj. incompressible N-S ### ##################################### # Adjoint Incompressible Viscous Cylinder contadj_incomp_cylinder = TestCase("contadj_incomp_cylinder") contadj_incomp_cylinder.cfg_dir = "cont_adj_incomp_navierstokes/cylinder" contadj_incomp_cylinder.cfg_file = "lam_incomp_cylinder.cfg" contadj_incomp_cylinder.test_iter = 25 contadj_incomp_cylinder.test_vals = [-5.718622, -7.027366, -2.932100, 0.000000] # last 4 columns contadj_incomp_cylinder.su2_exec = "SU2_CFD" contadj_incomp_cylinder.timeout = 1600 contadj_incomp_cylinder.tol = 0.00001 test_list.append(contadj_incomp_cylinder) # ###################################### # ### Spectral Method ### # ###################################### # spectral = TestCase('spectral') # spectral.cfg_dir = "spectral_method" # spectral.cfg_file = "spectral.cfg" # spectral.test_iter = 25 # spectral.test_vals = [-1.621870,3.852164,0.007465,0.084358] # spectral.su2_exec = "SU2_CFD" # spectral.timeout = 1600 # spectral.tol = 0.00001 # test_list.append(spectral) ###################################### ### Moving Wall ### ###################################### # Lid-driven cavity cavity = TestCase("cavity") cavity.cfg_dir = "moving_wall/cavity" cavity.cfg_file = "lam_cavity.cfg" cavity.test_iter = 25 cavity.test_vals = [-5.627934, -0.164470, 0.051972, 2.547034] # last 4 columns cavity.su2_exec = "SU2_CFD" cavity.timeout = 1600 cavity.tol = 0.00001 test_list.append(cavity) # Spinning cylinder spinning_cylinder = TestCase("spinning_cylinder") spinning_cylinder.cfg_dir = "moving_wall/spinning_cylinder" spinning_cylinder.cfg_file = "spinning_cylinder.cfg" spinning_cylinder.test_iter = 25 spinning_cylinder.test_vals = [-7.709662, -2.274900, 1.418422, 1.734206] # last 4 columns spinning_cylinder.su2_exec = "SU2_CFD" spinning_cylinder.timeout = 1600 spinning_cylinder.tol = 0.00001 test_list.append(spinning_cylinder) ###################################### ### Unsteady ### ###################################### # Square cylinder square_cylinder = TestCase("square_cylinder") square_cylinder.cfg_dir = "unsteady/square_cylinder" square_cylinder.cfg_file = "turb_square.cfg" square_cylinder.test_iter = 3 square_cylinder.test_vals = [-1.544603, 0.048578, 1.398951, 2.196894] # last 4 columns square_cylinder.su2_exec = "SU2_CFD" square_cylinder.timeout = 1600 square_cylinder.tol = 0.00001 test_list.append(square_cylinder) # Gust sine_gust = TestCase("sine_gust") sine_gust.cfg_dir = "gust" sine_gust.cfg_file = "inv_gust_NACA0012.cfg" sine_gust.test_iter = 5 sine_gust.test_vals = [-1.977531, 3.481790, -0.006222, -0.001342] # last 4 columns sine_gust.su2_exec = "SU2_CFD" sine_gust.timeout = 1600 sine_gust.tol = 0.00001 sine_gust.unsteady = True test_list.append(sine_gust) # Aeroelastic aeroelastic = TestCase("aeroelastic") aeroelastic.cfg_dir = "aeroelastic" aeroelastic.cfg_file = "aeroelastic_NACA64A010.cfg" aeroelastic.test_iter = 2 aeroelastic.test_vals = [0.077106, 0.036449, -1.684916e-03, -1.131735e-04] # last 4 columns aeroelastic.su2_exec = "SU2_CFD" aeroelastic.timeout = 1600 aeroelastic.tol = 0.000001 aeroelastic.unsteady = True test_list.append(aeroelastic) ###################################### ### NICFD ### ###################################### # ls89_sa ls89_sa = TestCase("ls89_sa") ls89_sa.cfg_dir = "nicf/LS89" ls89_sa.cfg_file = "turb_SA_PR.cfg" ls89_sa.test_iter = 100 ls89_sa.test_vals = [-6.383146, -13.350551, 0.069079, 0.160886] # last 4 columns ls89_sa.su2_exec = "SU2_CFD" ls89_sa.timeout = 1600 ls89_sa.tol = 0.00001 test_list.append(ls89_sa) # # ls89_sst # ls89_sst = TestCase('ls89_sst') # ls89_sst.cfg_dir = "nicf/LS89" # ls89_sst.cfg_file = "turb_SST_PR.cfg" # ls89_sst.test_iter = 100 # ls89_sst.test_vals = [-8.548266, -1.449437, 0.067986, 0.151168] #last 4 columns # ls89_sst.su2_exec = "SU2_CFD" # ls89_sst.timeout = 1600 # ls89_sst.tol = 0.00001 # test_list.append(ls89_sst) # Rarefaction shock wave edge_VW edge_VW = TestCase("edge_VW") edge_VW.cfg_dir = "nicf/edge" edge_VW.cfg_file = "edge_VW.cfg" edge_VW.test_iter = 100 edge_VW.test_vals = [-5.055874, 1.117978, -0.000009, 0.000000] # last 4 columns edge_VW.su2_exec = "SU2_CFD" edge_VW.timeout = 1600 edge_VW.tol = 0.00001 test_list.append(edge_VW) # Rarefaction shock wave edge_PPR edge_PPR = TestCase("edge_PPR") edge_PPR.cfg_dir = "nicf/edge" edge_PPR.cfg_file = "edge_PPR.cfg" edge_PPR.test_iter = 100 edge_PPR.test_vals = [-5.484387, 0.656352, -0.000037, 0.000000] # last 4 columns edge_PPR.su2_exec = "SU2_CFD" edge_PPR.timeout = 1600 edge_PPR.tol = 0.00001 test_list.append(edge_PPR) ###################################### ### turboSU2 ### ###################################### # Mini centrifugal turbine blade centrifugal_blade = TestCase("centrifugal_blade") centrifugal_blade.cfg_dir = "turbomachinery/centrifugal_blade" centrifugal_blade.cfg_file = "centrifugal_blade.cfg" centrifugal_blade.test_iter = 100 centrifugal_blade.test_vals = [-9.106943, -0.460429, 1.069070e01, 3.396010e-01] # last 4 columns centrifugal_blade.su2_exec = "SU2_CFD" centrifugal_blade.timeout = 1600 centrifugal_blade.tol = 0.000001 test_list.append(centrifugal_blade) # Mini centrifugal turbine stage centrifugal_stage = TestCase("centrifugal_stage") centrifugal_stage.cfg_dir = "turbomachinery/centrifugal_stage" centrifugal_stage.cfg_file = "centrifugal_stage.cfg" centrifugal_stage.test_iter = 100 centrifugal_stage.test_vals = [-10.166364, 1.621172, 2.206476e01, 5.271075e-01] # last 4 columns centrifugal_stage.su2_exec = "SU2_CFD" centrifugal_stage.timeout = 1600 centrifugal_stage.tol = 0.000001 test_list.append(centrifugal_stage) ########################## ### FEA - FSI ### ########################## # Static beam, 3d statbeam3d = TestCase("statbeam3d") statbeam3d.cfg_dir = "fea_fsi/StatBeam_3d" statbeam3d.cfg_file = "configBeam_3d.cfg" statbeam3d.test_iter = 0 statbeam3d.test_vals = [-8.498274, -8.230638, -8.123824, 6.4095e04] # last 4 columns statbeam3d.su2_exec = "SU2_CFD" statbeam3d.timeout = 1600 statbeam3d.tol = 0.00001 test_list.append(statbeam3d) # Dynamic beam, 2d dynbeam2d = TestCase("dynbeam2d") dynbeam2d.cfg_dir = "fea_fsi/DynBeam_2d" dynbeam2d.cfg_file = "configBeam_2d.cfg" dynbeam2d.test_iter = 6 dynbeam2d.test_vals = [-9.420640, -5.365872, -12.430382, 6.5210e04] # last 4 columns dynbeam2d.su2_exec = "SU2_CFD" dynbeam2d.timeout = 1600 dynbeam2d.tol = 0.00001 test_list.append(dynbeam2d) # FSI, 2d fsi2d = TestCase("fsi2d") fsi2d.cfg_dir = "fea_fsi/WallChannel_2d" fsi2d.cfg_file = "configFSI_2D.cfg" fsi2d.test_iter = 4 fsi2d.test_vals = [2, 0.500000, -7.779713, -1.141613] # last 4 columns fsi2d.su2_exec = "SU2_CFD" fsi2d.timeout = 1600 fsi2d.tol = 0.00001 test_list.append(fsi2d) ###################################### ### RUN TESTS ### ###################################### pass_list = [test.run_test() for test in test_list] ###################################### ### RUN SU2_GEO TESTS ### ###################################### # NACA0012 naca0012_geo = TestCase("naca0012_geo") naca0012_geo.cfg_dir = "optimization_euler/steady_naca0012" naca0012_geo.cfg_file = "inv_NACA0012_adv.cfg" naca0012_geo.test_vals = [0.120011, 0.0816925, 0.0, 1.0] # max thickness, area, twist, chord naca0012_geo.su2_exec = "SU2_GEO" naca0012_geo.timeout = 1600 naca0012_geo.tol = 0.00001 pass_list.append(naca0012_geo.run_geo()) test_list.append(naca0012_geo) ###################################### ### RUN SU2_DEF TESTS ### ###################################### # RAE2822 rae2822_def = TestCase("rae2822_def") rae2822_def.cfg_dir = "optimization_rans/steady_rae2822" rae2822_def.cfg_file = "def_SA_RAE2822.cfg" rae2822_def.test_iter = 100 rae2822_def.test_vals = [8.06616e-14] # residual rae2822_def.su2_exec = "SU2_DEF" rae2822_def.timeout = 1600 rae2822_def.tol = 1e-14 pass_list.append(rae2822_def.run_def()) test_list.append(rae2822_def) # Inviscid ONERAM6 oneram6_sa_def = TestCase("oneram6_sa_def") oneram6_sa_def.cfg_dir = "optimization_euler/steady_oneram6" oneram6_sa_def.cfg_file = "def_ONERAM6.cfg" oneram6_sa_def.test_iter = 600 oneram6_sa_def.test_vals = [3.46695e-13] # residual oneram6_sa_def.su2_exec = "SU2_DEF" oneram6_sa_def.timeout = 1600 oneram6_sa_def.tol = 1e-13 pass_list.append(oneram6_sa_def.run_def()) test_list.append(oneram6_sa_def) ###################################### ### RUN PYTHON TESTS ### ###################################### # test continuous_adjoint.py contadj_euler_py = TestCase("contadj_euler_py") contadj_euler_py.cfg_dir = "cont_adj_euler/naca0012" contadj_euler_py.cfg_file = "inv_NACA0012.cfg" contadj_euler_py.test_iter = 10 contadj_euler_py.su2_exec = "continuous_adjoint.py" contadj_euler_py.timeout = 1600 contadj_euler_py.reference_file = "of_grad_cd.dat.ref" contadj_euler_py.test_file = "of_grad_cd.dat" pass_list.append(contadj_euler_py.run_filediff()) test_list.append(contadj_euler_py) # test finite_difference.py findiff_euler_py = TestCase("findiff_euler_py") findiff_euler_py.cfg_dir = "cont_adj_euler/naca0012" findiff_euler_py.cfg_file = "inv_NACA0012_FD.cfg" findiff_euler_py.test_iter = 10 findiff_euler_py.su2_exec = "finite_differences.py" findiff_euler_py.timeout = 1600 findiff_euler_py.reference_file = "of_grad_findiff.dat.ref" findiff_euler_py.test_file = "FINDIFF/of_grad_findiff.dat" pass_list.append(findiff_euler_py.run_filediff()) test_list.append(findiff_euler_py) # test shape_optimization.py shape_opt_euler_py = TestCase("shape_opt_euler_py") shape_opt_euler_py.cfg_dir = "optimization_euler/steady_naca0012" shape_opt_euler_py.cfg_file = "inv_NACA0012_adv.cfg" shape_opt_euler_py.test_iter = 1 shape_opt_euler_py.test_vals = [1, 1, 2.134974e-05, 3.829535e-03] # last 4 columns shape_opt_euler_py.su2_exec = "shape_optimization.py -f" shape_opt_euler_py.timeout = 1600 shape_opt_euler_py.tol = 0.00001 pass_list.append(shape_opt_euler_py.run_opt()) test_list.append(shape_opt_euler_py) # Tests summary print "==================================================================" print "Summary of the serial tests" for i, test in enumerate(test_list): if pass_list[i]: print " passed - %s" % test.tag else: print "* FAILED - %s" % test.tag if all(pass_list): sys.exit(0) else: sys.exit(1)
def main(): '''This program runs SU2 and ensures that the output matches specified values. This will be used to do checks when code is pushed to github to make sure nothing is broken. ''' test_list = [] ########################## ### Compressible Euler ### ########################## # Channel channel = TestCase('channel') channel.cfg_dir = "euler/channel" channel.cfg_file = "inv_channel_RK.cfg" channel.test_iter = 100 channel.test_vals = [-3.110240, 2.263506, 0.008686, 0.029098] #last 4 columns channel.su2_exec = "SU2_CFD" channel.timeout = 1600 channel.tol = 0.00001 test_list.append(channel) # NACA0012 naca0012 = TestCase('naca0012') naca0012.cfg_dir = "euler/naca0012" naca0012.cfg_file = "inv_NACA0012_Roe.cfg" naca0012.test_iter = 100 naca0012.test_vals = [-6.191618, -5.592802, 0.334809, 0.022197] #last 4 columns naca0012.su2_exec = "SU2_CFD" naca0012.timeout = 1600 naca0012.tol = 0.00001 test_list.append(naca0012) # Supersonic wedge wedge = TestCase('wedge') wedge.cfg_dir = "euler/wedge" wedge.cfg_file = "inv_wedge_HLLC.cfg" wedge.test_iter = 100 wedge.test_vals = [-1.711318, 3.913749, -0.252131, 0.044402] #last 4 columns wedge.su2_exec = "SU2_CFD" wedge.timeout = 1600 wedge.tol = 0.00001 test_list.append(wedge) # ONERA M6 Wing oneram6 = TestCase('oneram6') oneram6.cfg_dir = "euler/oneram6" oneram6.cfg_file = "inv_ONERAM6.cfg" oneram6.test_iter = 10 oneram6.test_vals = [-13.393130, -12.928941, 0.282557, 0.012706] #last 4 columns oneram6.su2_exec = "SU2_CFD" oneram6.timeout = 9600 oneram6.tol = 0.00001 test_list.append(oneram6) ########################## ### Compressible N-S ### ########################## # Laminar flat plate flatplate = TestCase('flatplate') flatplate.cfg_dir = "navierstokes/flatplate" flatplate.cfg_file = "lam_flatplate.cfg" flatplate.test_iter = 100 flatplate.test_vals = [-5.231916, 0.261866, -0.166832, 0.012717] #last 4 columns flatplate.su2_exec = "SU2_CFD" flatplate.timeout = 1600 flatplate.tol = 0.00001 test_list.append(flatplate) # Laminar cylinder (steady) cylinder = TestCase('cylinder') cylinder.cfg_dir = "navierstokes/cylinder" cylinder.cfg_file = "lam_cylinder.cfg" cylinder.test_iter = 25 cylinder.test_vals = [-6.765426, -1.297422, 0.019496, 0.310082] #last 4 columns cylinder.su2_exec = "SU2_CFD" cylinder.timeout = 1600 cylinder.tol = 0.00001 test_list.append(cylinder) ########################## ### Compressible RANS ### ########################## # RAE2822 SA rae2822_sa = TestCase('rae2822_sa') rae2822_sa.cfg_dir = "rans/rae2822" rae2822_sa.cfg_file = "turb_SA_RAE2822.cfg" rae2822_sa.test_iter = 100 rae2822_sa.test_vals = [-3.442524, -5.441383, 0.884279, 0.024730] #last 4 columns rae2822_sa.su2_exec = "SU2_CFD" rae2822_sa.timeout = 1600 rae2822_sa.tol = 0.00001 test_list.append(rae2822_sa) # RAE2822 SST rae2822_sst = TestCase('rae2822_sst') rae2822_sst.cfg_dir = "rans/rae2822" rae2822_sst.cfg_file = "turb_SST_RAE2822.cfg" rae2822_sst.test_iter = 100 rae2822_sst.test_vals = [-1.185243, 4.018464, 0.886786, 0.024927] #last 4 columns rae2822_sst.su2_exec = "SU2_CFD" rae2822_sst.timeout = 1600 rae2822_sst.tol = 0.00001 test_list.append(rae2822_sst) # Flat plate turb_flatplate = TestCase('turb_flatplate') turb_flatplate.cfg_dir = "rans/flatplate" turb_flatplate.cfg_file = "turb_SA_flatplate.cfg" turb_flatplate.test_iter = 100 turb_flatplate.test_vals = [-5.069447, -7.354601, -0.187187, 0.010831] #last 4 columns turb_flatplate.su2_exec = "SU2_CFD" turb_flatplate.timeout = 1600 turb_flatplate.tol = 0.00001 test_list.append(turb_flatplate) # ONERA M6 Wing turb_oneram6 = TestCase('turb_oneram6') turb_oneram6.cfg_dir = "rans/oneram6" turb_oneram6.cfg_file = "turb_ONERAM6.cfg" turb_oneram6.test_iter = 10 turb_oneram6.test_vals = [-2.327509, -6.563372, 0.230438, 0.155815]#last 4 columns turb_oneram6.su2_exec = "SU2_CFD" turb_oneram6.timeout = 3200 turb_oneram6.tol = 0.00001 test_list.append(turb_oneram6) # NACA0012 (SA, FUN3D results for finest grid: CL=1.0983, CD=0.01242) turb_naca0012_sa = TestCase('turb_naca0012_sa') turb_naca0012_sa.cfg_dir = "rans/naca0012" turb_naca0012_sa.cfg_file = "turb_NACA0012_sa.cfg" turb_naca0012_sa.test_iter = 10 turb_naca0012_sa.test_vals = [-12.000763, -9.145363, 1.070528, 0.019417] #last 4 columns turb_naca0012_sa.su2_exec = "SU2_CFD" turb_naca0012_sa.timeout = 3200 turb_naca0012_sa.tol = 0.00001 test_list.append(turb_naca0012_sa) # NACA0012 (SST, FUN3D results for finest grid: CL=1.0840, CD=0.01253) turb_naca0012_sst = TestCase('turb_naca0012_sst') turb_naca0012_sst.cfg_dir = "rans/naca0012" turb_naca0012_sst.cfg_file = "turb_NACA0012_sst.cfg" turb_naca0012_sst.test_iter = 10 turb_naca0012_sst.test_vals = [-15.039675, -7.219913, 1.059622, 0.019138] #last 4 columns turb_naca0012_sst.su2_exec = "SU2_CFD" turb_naca0012_sst.timeout = 3200 turb_naca0012_sst.tol = 0.00001 test_list.append(turb_naca0012_sst) ############################ ### Incompressible RANS ### ############################ # NACA0012 inc_turb_naca0012 = TestCase('inc_turb_naca0012') inc_turb_naca0012.cfg_dir = "incomp_rans/naca0012" inc_turb_naca0012.cfg_file = "naca0012.cfg" inc_turb_naca0012.test_iter = 20 inc_turb_naca0012.test_vals = [-4.710052, -11.007500, -0.000001, 0.210445] #last 4 columns inc_turb_naca0012.su2_exec = "SU2_CFD" inc_turb_naca0012.timeout = 1600 inc_turb_naca0012.tol = 0.00001 test_list.append(inc_turb_naca0012) ##################################### ### Cont. adj. compressible Euler ### ##################################### # Inviscid NACA0012 contadj_naca0012 = TestCase('contadj_naca0012') contadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" contadj_naca0012.cfg_file = "inv_NACA0012.cfg" contadj_naca0012.test_iter = 5 contadj_naca0012.test_vals = [-9.787554, -15.192510, 0.300920, 0.536870] #last 4 columns contadj_naca0012.su2_exec = "SU2_CFD" contadj_naca0012.timeout = 1600 contadj_naca0012.tol = 0.00001 test_list.append(contadj_naca0012) # Inviscid ONERA M6 contadj_oneram6 = TestCase('contadj_oneram6') contadj_oneram6.cfg_dir = "cont_adj_euler/oneram6" contadj_oneram6.cfg_file = "inv_ONERAM6.cfg" contadj_oneram6.test_iter = 10 contadj_oneram6.test_vals = [-12.133352, -12.707213, 6.8590e-01, 1.4092e-01] #last 4 columns contadj_oneram6.su2_exec = "SU2_CFD" contadj_oneram6.timeout = 1600 contadj_oneram6.tol = 0.00001 test_list.append(contadj_oneram6) ################################### ### Cont. adj. compressible N-S ### ################################### # Adjoint laminar cylinder contadj_ns_cylinder = TestCase('contadj_ns_cylinder') contadj_ns_cylinder.cfg_dir = "cont_adj_navierstokes/cylinder" contadj_ns_cylinder.cfg_file = "lam_cylinder.cfg" contadj_ns_cylinder.test_iter = 100 contadj_ns_cylinder.test_vals = [-3.677184, -9.141850, -2.056700, 4.497000] #last 4 columns contadj_ns_cylinder.su2_exec = "SU2_CFD" contadj_ns_cylinder.timeout = 1600 contadj_ns_cylinder.tol = 0.00001 test_list.append(contadj_ns_cylinder) # Adjoint laminar naca0012 subsonic contadj_ns_naca0012_sub = TestCase('contadj_ns_naca0012_sub') contadj_ns_naca0012_sub.cfg_dir = "cont_adj_navierstokes/naca0012_sub" contadj_ns_naca0012_sub.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_sub.test_iter = 100 contadj_ns_naca0012_sub.test_vals = [-2.744551, -8.216469, 0.518810, 0.229160] #last 4 columns contadj_ns_naca0012_sub.su2_exec = "SU2_CFD" contadj_ns_naca0012_sub.timeout = 1600 contadj_ns_naca0012_sub.tol = 0.00001 test_list.append(contadj_ns_naca0012_sub) # Adjoint laminar naca0012 transonic contadj_ns_naca0012_trans = TestCase('contadj_ns_naca0012_trans') contadj_ns_naca0012_trans.cfg_dir = "cont_adj_navierstokes/naca0012_trans" contadj_ns_naca0012_trans.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_trans.test_iter = 100 contadj_ns_naca0012_trans.test_vals = [-1.041539, -6.578524, 1.772300, 0.620880] #last 4 columns contadj_ns_naca0012_trans.su2_exec = "SU2_CFD" contadj_ns_naca0012_trans.timeout = 1600 contadj_ns_naca0012_trans.tol = 0.00001 test_list.append(contadj_ns_naca0012_trans) ####################################################### ### Cont. adj. compressible RANS (frozen viscosity) ### ####################################################### # Adjoint turbulent NACA0012 contadj_rans_naca0012 = TestCase('contadj_rans_naca0012') contadj_rans_naca0012.cfg_dir = "cont_adj_rans/naca0012" contadj_rans_naca0012.cfg_file = "turb_nasa.cfg" contadj_rans_naca0012.test_iter = 100 contadj_rans_naca0012.test_vals = [-0.814757, -5.726517, -19.169000, -2.994100] #last 4 columns contadj_rans_naca0012.su2_exec = "SU2_CFD" contadj_rans_naca0012.timeout = 1600 contadj_rans_naca0012.tol = 0.00001 test_list.append(contadj_rans_naca0012) # Adjoint turbulent RAE2822 contadj_rans_rae2822 = TestCase('contadj_rans_rae2822') contadj_rans_rae2822.cfg_dir = "cont_adj_rans/rae2822" contadj_rans_rae2822.cfg_file = "turb_SA_RAE2822.cfg" contadj_rans_rae2822.test_iter = 100 contadj_rans_rae2822.test_vals = [-5.377843, -10.882446, -0.212470, 0.269390] #last 4 columns contadj_rans_rae2822.su2_exec = "SU2_CFD" contadj_rans_rae2822.timeout = 1600 contadj_rans_rae2822.tol = 0.00001 test_list.append(contadj_rans_rae2822) ####################################### ### Cont. adj. incompressible Euler ### ####################################### # Adjoint Incompressible Inviscid NACA0012 contadj_incomp_NACA0012 = TestCase('contadj_incomp_NACA0012') contadj_incomp_NACA0012.cfg_dir = "cont_adj_incomp_euler/naca0012" contadj_incomp_NACA0012.cfg_file = "incomp_NACA0012.cfg" contadj_incomp_NACA0012.test_iter = 5 contadj_incomp_NACA0012.test_vals = [-11.980272, -12.146779, 1.9399, 0.000000] #last 4 columns contadj_incomp_NACA0012.su2_exec = "SU2_CFD" contadj_incomp_NACA0012.timeout = 1600 contadj_incomp_NACA0012.tol = 0.00001 test_list.append(contadj_incomp_NACA0012) ##################################### ### Cont. adj. incompressible N-S ### ##################################### # Adjoint Incompressible Viscous Cylinder contadj_incomp_cylinder = TestCase('contadj_incomp_cylinder') contadj_incomp_cylinder.cfg_dir = "cont_adj_incomp_navierstokes/cylinder" contadj_incomp_cylinder.cfg_file = "lam_incomp_cylinder.cfg" contadj_incomp_cylinder.test_iter = 25 contadj_incomp_cylinder.test_vals = [-5.718622, -7.027366, -2.932100, 0.000000] #last 4 columns contadj_incomp_cylinder.su2_exec = "SU2_CFD" contadj_incomp_cylinder.timeout = 1600 contadj_incomp_cylinder.tol = 0.00001 test_list.append(contadj_incomp_cylinder) ###################################### ### Thermochemical Nonequilibrium ### ###################################### ramc = TestCase('ramc') ramc.cfg_dir = "tne2/ramc" ramc.cfg_file = "ramc61km.cfg" ramc.test_iter = 25 ramc.test_vals = [-4.643029, 2.849441, -4.443852, 0.000313] #last 4 columns ramc.su2_exec = "SU2_CFD" ramc.timeout = 1600 ramc.tol = 0.00001 test_list.append(ramc) # ###################################### # ### Spectral Method ### # ###################################### # spectral = TestCase('spectral') # spectral.cfg_dir = "spectral_method" # spectral.cfg_file = "spectral.cfg" # spectral.test_iter = 25 # spectral.test_vals = [-1.621870,3.852164,0.007465,0.084358] # spectral.su2_exec = "SU2_CFD" # spectral.timeout = 1600 # spectral.tol = 0.00001 # test_list.append(spectral) ###################################### ### Moving Wall ### ###################################### # Lid-driven cavity cavity = TestCase('cavity') cavity.cfg_dir = "moving_wall/cavity" cavity.cfg_file = "lam_cavity.cfg" cavity.test_iter = 25 cavity.test_vals = [-5.627934, -0.164470, 0.051972, 2.547034] #last 4 columns cavity.su2_exec = "SU2_CFD" cavity.timeout = 1600 cavity.tol = 0.00001 test_list.append(cavity) # Spinning cylinder spinning_cylinder = TestCase('spinning_cylinder') spinning_cylinder.cfg_dir = "moving_wall/spinning_cylinder" spinning_cylinder.cfg_file = "spinning_cylinder.cfg" spinning_cylinder.test_iter = 25 spinning_cylinder.test_vals = [-7.709662, -2.274900, 1.418422, 1.734206] #last 4 columns spinning_cylinder.su2_exec = "SU2_CFD" spinning_cylinder.timeout = 1600 spinning_cylinder.tol = 0.00001 test_list.append(spinning_cylinder) ###################################### ### Unsteady ### ###################################### # Square cylinder square_cylinder = TestCase('square_cylinder') square_cylinder.cfg_dir = "unsteady/square_cylinder" square_cylinder.cfg_file = "turb_square.cfg" square_cylinder.test_iter = 3 square_cylinder.test_vals = [-1.544603, 0.048578, 1.398951, 2.196894] #last 4 columns square_cylinder.su2_exec = "SU2_CFD" square_cylinder.timeout = 1600 square_cylinder.tol = 0.00001 test_list.append(square_cylinder) # Gust sine_gust = TestCase('sine_gust') sine_gust.cfg_dir = "gust" sine_gust.cfg_file = "inv_gust_NACA0012.cfg" sine_gust.test_iter = 5 sine_gust.test_vals = [-1.977531, 3.481790, -0.006222, -0.001342] #last 4 columns sine_gust.su2_exec = "SU2_CFD" sine_gust.timeout = 1600 sine_gust.tol = 0.00001 sine_gust.unsteady = True test_list.append(sine_gust) # Aeroelastic aeroelastic = TestCase('aeroelastic') aeroelastic.cfg_dir = "aeroelastic" aeroelastic.cfg_file = "aeroelastic_NACA64A010.cfg" aeroelastic.test_iter = 2 aeroelastic.test_vals = [0.077106, 0.036449, -1.684915e-03, -1.131746e-04] #last 4 columns aeroelastic.su2_exec = "SU2_CFD" aeroelastic.timeout = 1600 aeroelastic.tol = 0.000001 aeroelastic.unsteady = True test_list.append(aeroelastic) ###################################### ### NICFD ### ###################################### # ls89_sa ls89_sa = TestCase('ls89_sa') ls89_sa.cfg_dir = "nicf/LS89" ls89_sa.cfg_file = "turb_SA_PR.cfg" ls89_sa.test_iter = 100 ls89_sa.test_vals = [-6.383146, -13.350551, 0.069079, 0.160886] #last 4 columns ls89_sa.su2_exec = "SU2_CFD" ls89_sa.timeout = 1600 ls89_sa.tol = 0.00001 test_list.append(ls89_sa) # # ls89_sst # ls89_sst = TestCase('ls89_sst') # ls89_sst.cfg_dir = "nicf/LS89" # ls89_sst.cfg_file = "turb_SST_PR.cfg" # ls89_sst.test_iter = 100 # ls89_sst.test_vals = [-8.548266, -1.449437, 0.067986, 0.151168] #last 4 columns # ls89_sst.su2_exec = "SU2_CFD" # ls89_sst.timeout = 1600 # ls89_sst.tol = 0.00001 # test_list.append(ls89_sst) # Rarefaction shock wave edge_VW edge_VW = TestCase('edge_VW') edge_VW.cfg_dir = "nicf/edge" edge_VW.cfg_file = "edge_VW.cfg" edge_VW.test_iter = 100 edge_VW.test_vals = [-1.448387, 4.749040, -0.000046, 0.000000] #last 4 columns edge_VW.su2_exec = "SU2_CFD" edge_VW.timeout = 1600 edge_VW.tol = 0.00001 test_list.append(edge_VW) # Rarefaction shock wave edge_PPR edge_PPR = TestCase('edge_PPR') edge_PPR.cfg_dir = "nicf/edge" edge_PPR.cfg_file = "edge_PPR.cfg" edge_PPR.test_iter = 100 edge_PPR.test_vals = [-1.998340, 4.172354, -0.000056, 0.000000] #last 4 columns edge_PPR.su2_exec = "SU2_CFD" edge_PPR.timeout = 1600 edge_PPR.tol = 0.00001 test_list.append(edge_PPR) ###################################### ### RUN TESTS ### ###################################### pass_list = [ test.run_test() for test in test_list ] # Tests summary print '==================================================================' print 'Summary of the serial tests' for i, test in enumerate(test_list): if (pass_list[i]): print ' passed - %s'%test.tag else: print '* FAILED - %s'%test.tag if all(pass_list): sys.exit(0) else: sys.exit(1)
def main(): '''This program runs SU2 and ensures that the output matches specified values. This will be used to do checks when code is pushed to github to make sure nothing is broken. ''' test_list = [] ########################## ### Compressible Euler ### ########################## # Channel channel = TestCase('channel') channel.cfg_dir = "euler/channel" channel.cfg_file = "inv_channel_RK.cfg" channel.test_iter = 100 channel.test_vals = [-3.071007, 2.301191, 0.008562, 0.028922] #last 4 columns channel.su2_exec = "parallel_computation.py -f" channel.timeout = 1600 channel.tol = 0.00001 test_list.append(channel) # NACA0012 naca0012 = TestCase('naca0012') naca0012.cfg_dir = "euler/naca0012" naca0012.cfg_file = "inv_NACA0012_Roe.cfg" naca0012.test_iter = 100 naca0012.test_vals = [-6.237188, -5.641250, 0.334843, 0.022206] #last 4 columns naca0012.su2_exec = "parallel_computation.py -f" naca0012.timeout = 1600 naca0012.tol = 0.00001 test_list.append(naca0012) # Supersonic wedge wedge = TestCase('wedge') wedge.cfg_dir = "euler/wedge" wedge.cfg_file = "inv_wedge_HLLC.cfg" wedge.test_iter = 100 wedge.test_vals = [-1.690232, 3.924432, -0.252221, 0.044419] #last 4 columns wedge.su2_exec = "parallel_computation.py -f" wedge.timeout = 1600 wedge.tol = 0.00001 test_list.append(wedge) # ONERA M6 Wing oneram6 = TestCase('oneram6') oneram6.cfg_dir = "euler/oneram6" oneram6.cfg_file = "inv_ONERAM6.cfg" oneram6.test_iter = 10 oneram6.test_vals = [-13.400678, -12.932056, 0.282557, 0.012706] #last 4 columns oneram6.su2_exec = "parallel_computation.py -f" oneram6.timeout = 3200 oneram6.tol = 0.00001 test_list.append(oneram6) ########################## ### Compressible N-S ### ########################## # Laminar flat plate flatplate = TestCase('flatplate') flatplate.cfg_dir = "navierstokes/flatplate" flatplate.cfg_file = "lam_flatplate.cfg" flatplate.test_iter = 100 flatplate.test_vals = [-5.231743, 0.261628, -0.166871, 0.012706] #last 4 columns flatplate.su2_exec = "parallel_computation.py -f" flatplate.timeout = 1600 flatplate.tol = 0.00001 test_list.append(flatplate) # Laminar cylinder (steady) cylinder = TestCase('cylinder') cylinder.cfg_dir = "navierstokes/cylinder" cylinder.cfg_file = "lam_cylinder.cfg" cylinder.test_iter = 25 cylinder.test_vals = [-6.757291, -1.289309, -0.125948, 0.625438] #last 4 columns cylinder.su2_exec = "parallel_computation.py -f" cylinder.timeout = 1600 cylinder.tol = 0.00001 test_list.append(cylinder) # Laminar cylinder (low Mach correction) cylinder_lowmach = TestCase('cylinder_lowmach') cylinder_lowmach.cfg_dir = "navierstokes/cylinder" cylinder_lowmach.cfg_file = "cylinder_lowmach.cfg" cylinder_lowmach.test_iter = 25 cylinder_lowmach.test_vals = [-6.861860, -1.399846, -1.557250, 110.230719] #last 4 columns cylinder_lowmach.su2_exec = "parallel_computation.py -f" cylinder_lowmach.timeout = 1600 cylinder_lowmach.tol = 0.00001 test_list.append(cylinder_lowmach) ########################## ### Compressible RANS ### ########################## # RAE2822 SA rae2822_sa = TestCase('rae2822_sa') rae2822_sa.cfg_dir = "rans/rae2822" rae2822_sa.cfg_file = "turb_SA_RAE2822.cfg" rae2822_sa.test_iter = 100 rae2822_sa.test_vals = [-3.647743, -5.442583, 0.903159, 0.025800] #last 4 columns rae2822_sa.su2_exec = "parallel_computation.py -f" rae2822_sa.timeout = 1600 rae2822_sa.tol = 0.00001 test_list.append(rae2822_sa) # RAE2822 SST rae2822_sst = TestCase('rae2822_sst') rae2822_sst.cfg_dir = "rans/rae2822" rae2822_sst.cfg_file = "turb_SST_RAE2822.cfg" rae2822_sst.test_iter = 100 rae2822_sst.test_vals = [-1.198777, 4.013989, 0.904265, 0.025941] #last 4 columns rae2822_sst.su2_exec = "parallel_computation.py -f" rae2822_sst.timeout = 1600 rae2822_sst.tol = 0.00001 test_list.append(rae2822_sst) # Flat plate turb_flatplate = TestCase('turb_flatplate') turb_flatplate.cfg_dir = "rans/flatplate" turb_flatplate.cfg_file = "turb_SA_flatplate.cfg" turb_flatplate.test_iter = 100 turb_flatplate.test_vals = [-5.071289, -7.366446, -0.187145, 0.010957] #last 4 columns turb_flatplate.su2_exec = "parallel_computation.py -f" turb_flatplate.timeout = 1600 turb_flatplate.tol = 0.00001 test_list.append(turb_flatplate) # ONERA M6 Wing turb_oneram6 = TestCase('turb_oneram6') turb_oneram6.cfg_dir = "rans/oneram6" turb_oneram6.cfg_file = "turb_ONERAM6.cfg" turb_oneram6.test_iter = 10 turb_oneram6.test_vals = [-2.327509, -6.563372, 0.230438, 0.155815] #last 4 columns turb_oneram6.su2_exec = "parallel_computation.py -f" turb_oneram6.timeout = 3200 turb_oneram6.tol = 0.00001 test_list.append(turb_oneram6) # NACA0012 (SA, FUN3D finest grid results: CL=1.0983, CD=0.01242) turb_naca0012_sa = TestCase('turb_naca0012_sa') turb_naca0012_sa.cfg_dir = "rans/naca0012" turb_naca0012_sa.cfg_file = "turb_NACA0012_sa.cfg" turb_naca0012_sa.test_iter = 10 turb_naca0012_sa.test_vals = [-12.000764, -9.145363, 1.070528, 0.019417] #last 4 columns turb_naca0012_sa.su2_exec = "parallel_computation.py -f" turb_naca0012_sa.timeout = 3200 turb_naca0012_sa.tol = 0.00001 test_list.append(turb_naca0012_sa) # NACA0012 (SST, FUN3D finest grid results: CL=1.0840, CD=0.01253) turb_naca0012_sst = TestCase('turb_naca0012_sst') turb_naca0012_sst.cfg_dir = "rans/naca0012" turb_naca0012_sst.cfg_file = "turb_NACA0012_sst.cfg" turb_naca0012_sst.test_iter = 10 turb_naca0012_sst.test_vals = [-15.039645, -7.220177, 1.059622, 0.019138] #last 4 columns turb_naca0012_sst.su2_exec = "parallel_computation.py -f" turb_naca0012_sst.timeout = 3200 turb_naca0012_sst.tol = 0.00001 test_list.append(turb_naca0012_sst) ############################ ### Incompressible RANS ### ############################ # NACA0012 inc_turb_naca0012 = TestCase('inc_turb_naca0012') inc_turb_naca0012.cfg_dir = "incomp_rans/naca0012" inc_turb_naca0012.cfg_file = "naca0012.cfg" inc_turb_naca0012.test_iter = 20 inc_turb_naca0012.test_vals = [-4.710048, -11.007498, 0.000002, 0.210441] #last 4 columns inc_turb_naca0012.su2_exec = "parallel_computation.py -f" inc_turb_naca0012.timeout = 1600 inc_turb_naca0012.tol = 0.00001 test_list.append(inc_turb_naca0012) ##################################### ### Cont. adj. compressible Euler ### ##################################### # Inviscid NACA0012 contadj_naca0012 = TestCase('contadj_naca0012') contadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" contadj_naca0012.cfg_file = "inv_NACA0012.cfg" contadj_naca0012.test_iter = 5 contadj_naca0012.test_vals = [-9.783712, -15.192812, 0.300920, 0.536870] #last 4 columns contadj_naca0012.su2_exec = "parallel_computation.py -f" contadj_naca0012.timeout = 1600 contadj_naca0012.tol = 0.00001 test_list.append(contadj_naca0012) # Inviscid ONERA M6 contadj_oneram6 = TestCase('contadj_oneram6') contadj_oneram6.cfg_dir = "cont_adj_euler/oneram6" contadj_oneram6.cfg_file = "inv_ONERAM6.cfg" contadj_oneram6.test_iter = 10 contadj_oneram6.test_vals = [-12.131587, -12.703243, 0.685900, 0.140920] #last 4 columns contadj_oneram6.su2_exec = "parallel_computation.py -f" contadj_oneram6.timeout = 1600 contadj_oneram6.tol = 0.00001 test_list.append(contadj_oneram6) # Inviscid WEDGE: generalized adjoint and custom DV contadj_wedge = TestCase('contadj_wedge') contadj_wedge.cfg_dir = "cont_adj_euler/wedge" contadj_wedge.cfg_file = "inv_wedge_ROE.cfg" contadj_wedge.test_iter = 10 contadj_wedge.test_vals = [-7.364977, -13.301134, 0.000266, 0.000000] #last 4 columns contadj_wedge.su2_exec = "parallel_computation.py -f" contadj_wedge.timeout = 1600 contadj_wedge.tol = 0.00001 test_list.append(contadj_wedge) ################################### ### Cont. adj. compressible N-S ### ################################### # Adjoint laminar cylinder contadj_ns_cylinder = TestCase('contadj_ns_cylinder') contadj_ns_cylinder.cfg_dir = "cont_adj_navierstokes/cylinder" contadj_ns_cylinder.cfg_file = "lam_cylinder.cfg" contadj_ns_cylinder.test_iter = 100 contadj_ns_cylinder.test_vals = [-3.659040, -9.117773, -2.056700, 4.497000] #last 4 columns contadj_ns_cylinder.su2_exec = "parallel_computation.py -f" contadj_ns_cylinder.timeout = 1600 contadj_ns_cylinder.tol = 0.00001 test_list.append(contadj_ns_cylinder) # Adjoint laminar naca0012 subsonic contadj_ns_naca0012_sub = TestCase('contadj_ns_naca0012_sub') contadj_ns_naca0012_sub.cfg_dir = "cont_adj_navierstokes/naca0012_sub" contadj_ns_naca0012_sub.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_sub.test_iter = 100 contadj_ns_naca0012_sub.test_vals = [-2.744551, -8.216469, 0.518810, 0.229160] #last 4 columns contadj_ns_naca0012_sub.su2_exec = "parallel_computation.py -f" contadj_ns_naca0012_sub.timeout = 1600 contadj_ns_naca0012_sub.tol = 0.00001 test_list.append(contadj_ns_naca0012_sub) # Adjoint laminar naca0012 transonic contadj_ns_naca0012_trans = TestCase('contadj_ns_naca0012_trans') contadj_ns_naca0012_trans.cfg_dir = "cont_adj_navierstokes/naca0012_trans" contadj_ns_naca0012_trans.cfg_file = "lam_NACA0012.cfg" contadj_ns_naca0012_trans.test_iter = 100 contadj_ns_naca0012_trans.test_vals = [-1.041539, -6.578524, 1.772300, 0.620880] #last 4 columns contadj_ns_naca0012_trans.su2_exec = "parallel_computation.py -f" contadj_ns_naca0012_trans.timeout = 1600 contadj_ns_naca0012_trans.tol = 0.00001 test_list.append(contadj_ns_naca0012_trans) ####################################################### ### Cont. adj. compressible RANS (frozen viscosity) ### ####################################################### # Adjoint turbulent NACA0012 contadj_rans_naca0012 = TestCase('contadj_rans_naca0012') contadj_rans_naca0012.cfg_dir = "cont_adj_rans/naca0012" contadj_rans_naca0012.cfg_file = "turb_nasa.cfg" contadj_rans_naca0012.test_iter = 100 contadj_rans_naca0012.test_vals = [-0.814757, -5.726517, -19.169000, -2.994100] #last 4 columns contadj_rans_naca0012.su2_exec = "parallel_computation.py -f" contadj_rans_naca0012.timeout = 1600 contadj_rans_naca0012.tol = 0.00001 test_list.append(contadj_rans_naca0012) # Adjoint turbulent RAE2822 contadj_rans_rae2822 = TestCase('contadj_rans_rae822') contadj_rans_rae2822.cfg_dir = "cont_adj_rans/rae2822" contadj_rans_rae2822.cfg_file = "turb_SA_RAE2822.cfg" contadj_rans_rae2822.test_iter = 100 contadj_rans_rae2822.test_vals = [-5.380929, -10.886092, -0.212470, 0.269390] #last 4 columns contadj_rans_rae2822.su2_exec = "parallel_computation.py -f" contadj_rans_rae2822.timeout = 1600 contadj_rans_rae2822.tol = 0.00001 test_list.append(contadj_rans_rae2822) ####################################### ### Cont. adj. incompressible Euler ### ####################################### # Adjoint Incompressible Inviscid NACA0012 contadj_incomp_NACA0012 = TestCase('contadj_incomp_NACA0012') contadj_incomp_NACA0012.cfg_dir = "cont_adj_incomp_euler/naca0012" contadj_incomp_NACA0012.cfg_file = "incomp_NACA0012.cfg" contadj_incomp_NACA0012.test_iter = 5 contadj_incomp_NACA0012.test_vals = [-11.968536, -12.133235, 1.939900, 0.000000] #last 4 columns contadj_incomp_NACA0012.su2_exec = "parallel_computation.py -f" contadj_incomp_NACA0012.timeout = 1600 contadj_incomp_NACA0012.tol = 0.00001 test_list.append(contadj_incomp_NACA0012) ##################################### ### Cont. adj. incompressible N-S ### ##################################### # Adjoint Incompressible Viscous Cylinder contadj_incomp_cylinder = TestCase('contadj_incomp_cylinder') contadj_incomp_cylinder.cfg_dir = "cont_adj_incomp_navierstokes/cylinder" contadj_incomp_cylinder.cfg_file = "lam_incomp_cylinder.cfg" contadj_incomp_cylinder.test_iter = 25 contadj_incomp_cylinder.test_vals = [-5.718840, -7.012324, -2.932100, 0.000000] #last 4 columns contadj_incomp_cylinder.su2_exec = "parallel_computation.py -f" contadj_incomp_cylinder.timeout = 1600 contadj_incomp_cylinder.tol = 0.00001 test_list.append(contadj_incomp_cylinder) ###################################### ### Moving Wall ### ###################################### # Lid-driven cavity cavity = TestCase('cavity') cavity.cfg_dir = "moving_wall/cavity" cavity.cfg_file = "lam_cavity.cfg" cavity.test_iter = 25 cavity.test_vals = [-5.597018, -0.133158, 0.169034, 0.821371] #last 4 columns cavity.su2_exec = "parallel_computation.py -f" cavity.timeout = 1600 cavity.tol = 0.00001 test_list.append(cavity) # Spinning cylinder spinning_cylinder = TestCase('spinning_cylinder') spinning_cylinder.cfg_dir = "moving_wall/spinning_cylinder" spinning_cylinder.cfg_file = "spinning_cylinder.cfg" spinning_cylinder.test_iter = 25 spinning_cylinder.test_vals = [-7.648320, -2.202753, 1.236836, 1.609040] #last 4 columns spinning_cylinder.su2_exec = "parallel_computation.py -f" spinning_cylinder.timeout = 1600 spinning_cylinder.tol = 0.00001 test_list.append(spinning_cylinder) ###################################### ### Unsteady ### ###################################### # Square cylinder square_cylinder = TestCase('square_cylinder') square_cylinder.cfg_dir = "unsteady/square_cylinder" square_cylinder.cfg_file = "turb_square.cfg" square_cylinder.test_iter = 3 square_cylinder.test_vals = [-1.544602, 0.048576, 1.398951, 2.196894] #last 4 columns square_cylinder.su2_exec = "parallel_computation.py -f" square_cylinder.timeout = 1600 square_cylinder.tol = 0.00001 test_list.append(square_cylinder) # Gust sine_gust = TestCase('sine_gust') sine_gust.cfg_dir = "gust" sine_gust.cfg_file = "inv_gust_NACA0012.cfg" sine_gust.test_iter = 5 sine_gust.test_vals = [-1.977531, 3.481790, -0.014552, -0.004969] #last 4 columns sine_gust.su2_exec = "parallel_computation.py -f" sine_gust.timeout = 1600 sine_gust.tol = 0.00001 sine_gust.unsteady = True test_list.append(sine_gust) # Aeroelastic aeroelastic = TestCase('aeroelastic') aeroelastic.cfg_dir = "aeroelastic" aeroelastic.cfg_file = "aeroelastic_NACA64A010.cfg" aeroelastic.test_iter = 2 aeroelastic.test_vals = [0.077169, 0.036452, -0.001685, -0.000113] #last 4 columns aeroelastic.su2_exec = "parallel_computation.py -f" aeroelastic.timeout = 1600 aeroelastic.tol = 0.000001 aeroelastic.unsteady = True test_list.append(aeroelastic) ###################################### ### NICFD ### ###################################### # Rarefaction shock wave edge_VW edge_VW = TestCase('edge_VW') edge_VW.cfg_dir = "nicf/edge" edge_VW.cfg_file = "edge_VW.cfg" edge_VW.test_iter = 100 edge_VW.test_vals = [-5.058481, 1.115321, -0.000009, 0.000000] #last 4 columns edge_VW.su2_exec = "parallel_computation.py -f" edge_VW.timeout = 1600 edge_VW.tol = 0.00001 test_list.append(edge_VW) # Rarefaction shock wave edge_PPR edge_PPR = TestCase('edge_PPR') edge_PPR.cfg_dir = "nicf/edge" edge_PPR.cfg_file = "edge_PPR.cfg" edge_PPR.test_iter = 100 edge_PPR.test_vals = [-5.486409, 0.654417, -0.000037, 0.000000] #last 4 columns edge_PPR.su2_exec = "parallel_computation.py -f" edge_PPR.timeout = 1600 edge_PPR.tol = 0.00001 test_list.append(edge_PPR) ########################## ### FEA - FSI ### ########################## # Static beam, 3d statbeam3d = TestCase('statbeam3d') statbeam3d.cfg_dir = "fea_fsi/StatBeam_3d" statbeam3d.cfg_file = "configBeam_3d.cfg" statbeam3d.test_iter = 0 statbeam3d.test_vals = [-8.520066, -8.069308, -8.062384, 64095.000000] #last 4 columns statbeam3d.su2_exec = "parallel_computation_fsi.py -f" statbeam3d.timeout = 1600 statbeam3d.tol = 0.00001 test_list.append(statbeam3d) # Dynamic beam, 2d dynbeam2d = TestCase('dynbeam2d') dynbeam2d.cfg_dir = "fea_fsi/DynBeam_2d" dynbeam2d.cfg_file = "configBeam_2d.cfg" dynbeam2d.test_iter = 6 dynbeam2d.test_vals = [-9.420641, -5.365871, -12.430382, 6.5210e+04] #last 4 columns dynbeam2d.su2_exec = "parallel_computation_fsi.py -f" dynbeam2d.timeout = 1600 dynbeam2d.tol = 0.00001 test_list.append(dynbeam2d) # FSI, 2d fsi2d = TestCase('fsi2d') fsi2d.cfg_dir = "fea_fsi/WallChannel_2d" fsi2d.cfg_file = "configFSI_2D.cfg" fsi2d.test_iter = 4 fsi2d.test_vals = [2, 0.500000, -7.779707, -1.141608] #last 4 columns fsi2d.su2_exec = "parallel_computation_fsi.py -f" fsi2d.timeout = 1600 fsi2d.tol = 0.00001 test_list.append(fsi2d) ###################################### ### RUN TESTS ### ###################################### pass_list = [ test.run_test() for test in test_list ] # Tests summary print '==================================================================' print 'Summary of the parallel tests' for i, test in enumerate(test_list): if (pass_list[i]): print ' passed - %s'%test.tag else: print '* FAILED - %s'%test.tag if all(pass_list): sys.exit(0) else: sys.exit(1)
def main(): '''This program runs SU2 and ensures that the output matches specified values. This will be used to do checks when code is pushed to github to make sure nothing is broken. ''' test_list = [] ##################################### ### Disc. adj. compressible Euler ### ##################################### # Inviscid NACA0012 discadj_naca0012 = TestCase('discadj_naca0012') discadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" discadj_naca0012.cfg_file = "inv_NACA0012_discadj.cfg" discadj_naca0012.test_iter = 100 discadj_naca0012.test_vals = [-3.559002, -8.926022, -0.000000, 0.005588] #last 4 columns discadj_naca0012.su2_exec = "SU2_CFD_AD" discadj_naca0012.timeout = 1600 discadj_naca0012.tol = 0.00001 test_list.append(discadj_naca0012) # Inviscid Cylinder 3D (multiple markers) discadj_cylinder3D = TestCase('discadj_cylinder3D') discadj_cylinder3D.cfg_dir = "disc_adj_euler/cylinder3D" discadj_cylinder3D.cfg_file = "inv_cylinder3D.cfg" discadj_cylinder3D.test_iter = 5 discadj_cylinder3D.test_vals = [-3.759637, -3.864023, -0.000000, 0.000000] #last 4 columns discadj_cylinder3D.su2_exec = "SU2_CFD_AD" discadj_cylinder3D.timeout = 1600 discadj_cylinder3D.tol = 0.00001 test_list.append(discadj_cylinder3D) # Arina nozzle 2D discadj_arina2k = TestCase('discadj_arina2k') discadj_arina2k.cfg_dir = "disc_adj_euler/arina2k" discadj_arina2k.cfg_file = "Arina2KRS.cfg" discadj_arina2k.test_iter = 20 discadj_arina2k.test_vals = [2.108283, 1.574295, 47250.0, 0.0] #last 4 columns discadj_arina2k.su2_exec = "SU2_CFD_AD" discadj_arina2k.timeout = 8400 discadj_arina2k.tol = 0.00001 test_list.append(discadj_arina2k) ####################################################### ### Disc. adj. compressible RANS ### ####################################################### # Adjoint turbulent NACA0012 SA discadj_rans_naca0012_sa = TestCase('discadj_rans_naca0012_sa') discadj_rans_naca0012_sa.cfg_dir = "disc_adj_rans/naca0012" discadj_rans_naca0012_sa.cfg_file = "turb_NACA0012_sa.cfg" discadj_rans_naca0012_sa.test_iter = 10 discadj_rans_naca0012_sa.test_vals = [ -2.230556, 0.696586, 0.180740, -0.000018 ] #last 4 columns discadj_rans_naca0012_sa.su2_exec = "SU2_CFD_AD" discadj_rans_naca0012_sa.timeout = 1600 discadj_rans_naca0012_sa.tol = 0.00001 test_list.append(discadj_rans_naca0012_sa) # Adjoint turbulent NACA0012 SST discadj_rans_naca0012_sst = TestCase('discadj_rans_naca0012_sst') discadj_rans_naca0012_sst.cfg_dir = "disc_adj_rans/naca0012" discadj_rans_naca0012_sst.cfg_file = "turb_NACA0012_sst.cfg" discadj_rans_naca0012_sst.test_iter = 10 discadj_rans_naca0012_sst.test_vals = [ -2.221232, -0.492215, 0.557480, 0.000027 ] #last 4 columns discadj_rans_naca0012_sst.su2_exec = "SU2_CFD_AD" discadj_rans_naca0012_sst.timeout = 1600 discadj_rans_naca0012_sst.tol = 0.00001 test_list.append(discadj_rans_naca0012_sst) ####################################### ### Disc. adj. incompressible Euler ### ####################################### # Adjoint Incompressible Inviscid NACA0012 discadj_incomp_NACA0012 = TestCase('discadj_incomp_NACA0012') discadj_incomp_NACA0012.cfg_dir = "disc_adj_incomp_euler/naca0012" discadj_incomp_NACA0012.cfg_file = "incomp_NACA0012_disc.cfg" discadj_incomp_NACA0012.test_iter = 20 discadj_incomp_NACA0012.test_vals = [20.0, -4.092007, -2.652750, 0.0] #last 4 columns discadj_incomp_NACA0012.su2_exec = "SU2_CFD_AD" discadj_incomp_NACA0012.timeout = 1600 discadj_incomp_NACA0012.tol = 0.00001 test_list.append(discadj_incomp_NACA0012) ##################################### ### Disc. adj. incompressible N-S ### ##################################### # Adjoint Incompressible Viscous Cylinder (Heated) discadj_incomp_cylinder = TestCase('discadj_incomp_cylinder') discadj_incomp_cylinder.cfg_dir = "disc_adj_incomp_navierstokes/cylinder" discadj_incomp_cylinder.cfg_file = "heated_cylinder.cfg" discadj_incomp_cylinder.test_iter = 20 discadj_incomp_cylinder.test_vals = [ 20.000000, -2.374306, -2.371564, 0.000000 ] #last 4 columns discadj_incomp_cylinder.su2_exec = "SU2_CFD_AD" discadj_incomp_cylinder.timeout = 1600 discadj_incomp_cylinder.tol = 0.00001 test_list.append(discadj_incomp_cylinder) ###################################### ### Disc. adj. incompressible RANS ### ###################################### # Adjoint Incompressible Turbulent NACA 0012 SA discadj_incomp_turb_NACA0012_sa = TestCase( 'discadj_incomp_turb_NACA0012_sa') discadj_incomp_turb_NACA0012_sa.cfg_dir = "disc_adj_incomp_rans/naca0012" discadj_incomp_turb_NACA0012_sa.cfg_file = "turb_naca0012_sa.cfg" discadj_incomp_turb_NACA0012_sa.test_iter = 10 discadj_incomp_turb_NACA0012_sa.test_vals = [ 10.000000, -3.845979, -1.031095, 0.000000 ] #last 4 columns discadj_incomp_turb_NACA0012_sa.su2_exec = "SU2_CFD_AD" discadj_incomp_turb_NACA0012_sa.timeout = 1600 discadj_incomp_turb_NACA0012_sa.tol = 0.00001 test_list.append(discadj_incomp_turb_NACA0012_sa) # Adjoint Incompressible Turbulent NACA 0012 SST discadj_incomp_turb_NACA0012_sst = TestCase( 'discadj_incomp_turb_NACA0012_sst') discadj_incomp_turb_NACA0012_sst.cfg_dir = "disc_adj_incomp_rans/naca0012" discadj_incomp_turb_NACA0012_sst.cfg_file = "turb_naca0012_sst.cfg" discadj_incomp_turb_NACA0012_sst.test_iter = 10 discadj_incomp_turb_NACA0012_sst.test_vals = [ -3.845577, -2.414021, -8.420183, 0.000000 ] #last 4 columns discadj_incomp_turb_NACA0012_sst.su2_exec = "SU2_CFD_AD" discadj_incomp_turb_NACA0012_sst.timeout = 1600 discadj_incomp_turb_NACA0012_sst.tol = 0.00001 test_list.append(discadj_incomp_turb_NACA0012_sst) ####################################################### ### Unsteady Disc. adj. compressible RANS ### ####################################################### # Turbulent Cylinder discadj_cylinder = TestCase('unsteady_cylinder') discadj_cylinder.cfg_dir = "disc_adj_rans/cylinder" discadj_cylinder.cfg_file = "cylinder.cfg" discadj_cylinder.test_iter = 9 discadj_cylinder.test_vals = [3.746909, -1.544883, -0.008321, 0.000014] #last 4 columns discadj_cylinder.su2_exec = "SU2_CFD_AD" discadj_cylinder.timeout = 1600 discadj_cylinder.tol = 0.00001 discadj_cylinder.unsteady = True test_list.append(discadj_cylinder) ########################################################################## ### Unsteady Disc. adj. compressible RANS DualTimeStepping 1st order ### ########################################################################## # Turbulent Cylinder discadj_DT_1ST_cylinder = TestCase('unsteady_cylinder_DT_1ST') discadj_DT_1ST_cylinder.cfg_dir = "disc_adj_rans/cylinder_DT_1ST" discadj_DT_1ST_cylinder.cfg_file = "cylinder.cfg" discadj_DT_1ST_cylinder.test_iter = 9 discadj_DT_1ST_cylinder.test_vals = [ 3.698168, -1.607050, -0.002159, 0.000028 ] #last 4 columns discadj_DT_1ST_cylinder.su2_exec = "SU2_CFD_AD" discadj_DT_1ST_cylinder.timeout = 1600 discadj_DT_1ST_cylinder.tol = 0.00001 discadj_DT_1ST_cylinder.unsteady = True test_list.append(discadj_DT_1ST_cylinder) ###################################################### ### Unsteady Disc. adj. compressible pitching NACA ### ###################################################### # compressible pitching NACA0012 discadj_pitchingNACA0012 = TestCase('pitchingNACA0012') discadj_pitchingNACA0012.cfg_dir = "disc_adj_euler/naca0012_pitching" discadj_pitchingNACA0012.cfg_file = "inv_NACA0012_pitching.cfg" discadj_pitchingNACA0012.test_iter = 4 discadj_pitchingNACA0012.test_vals = [ -1.223509, -1.646090, -0.007671, 0.000013 ] #last 4 columns discadj_pitchingNACA0012.su2_exec = "SU2_CFD_AD" discadj_pitchingNACA0012.timeout = 1600 discadj_pitchingNACA0012.tol = 0.00001 discadj_pitchingNACA0012.unsteady = True test_list.append(discadj_pitchingNACA0012) # deforming pitching NACA0012 unst_deforming_naca0012 = TestCase('unst_deforming_naca0012') unst_deforming_naca0012.cfg_dir = "disc_adj_euler/naca0012_pitching_def" unst_deforming_naca0012.cfg_file = "inv_NACA0012_pitching_deform_ad.cfg" unst_deforming_naca0012.test_iter = 4 unst_deforming_naca0012.test_vals = [ -1.867980, -1.741743, 1090.200000, 0.000006 ] #last 4 columns unst_deforming_naca0012.su2_exec = "SU2_CFD_AD" unst_deforming_naca0012.timeout = 1600 unst_deforming_naca0012.tol = 0.00001 unst_deforming_naca0012.unsteady = True test_list.append(unst_deforming_naca0012) ################################### ### Structural Adjoint ### ################################### # Structural model discadj_fea = TestCase('discadj_fea') discadj_fea.cfg_dir = "disc_adj_fea" discadj_fea.cfg_file = "configAD_fem.cfg" discadj_fea.test_iter = 4 discadj_fea.test_vals = [-2.849531, -3.238474, -3.6413e-04, -8.7087] #last 4 columns discadj_fea.su2_exec = "SU2_CFD_AD" discadj_fea.timeout = 1600 discadj_fea.tol = 0.00001 test_list.append(discadj_fea) ################################### ### Disc. adj. heat ### ################################### # Discrete adjoint for heated cylinder discadj_heat = TestCase('discadj_heat') discadj_heat.cfg_dir = "disc_adj_heat" discadj_heat.cfg_file = "disc_adj_heat.cfg" discadj_heat.test_iter = 10 discadj_heat.test_vals = [-2.271573, 0.671242, -3.172000, -8.231600] #last 4 columns discadj_heat.su2_exec = "SU2_CFD_AD" discadj_heat.timeout = 1600 discadj_heat.tol = 0.00001 test_list.append(discadj_heat) ################################### ### Coupled RHT-CFD Adjoint ### ################################### # Coupled discrete adjoint for radiative heat transfer in heated cylinder discadj_rht = TestCase('discadj_rht') discadj_rht.cfg_dir = "radiation/p1adjoint" discadj_rht.cfg_file = "configp1adjoint.cfg" discadj_rht.test_iter = 10 discadj_rht.su2_exec = "discrete_adjoint.py -f" discadj_rht.timeout = 1600 discadj_rht.reference_file = "of_grad_cd.csv.ref" discadj_rht.test_file = "of_grad_cd.csv" test_list.append(discadj_rht) ################################### ### Coupled FSI Adjoint ### ################################### # Structural model discadj_fsi = TestCase('discadj_fsi') discadj_fsi.cfg_dir = "disc_adj_fsi" discadj_fsi.cfg_file = "config.cfg" discadj_fsi.test_iter = 6 discadj_fsi.test_vals = [6, -1.572702, -3.084381, 4.3990e-04, -1.0631] #last 5 columns discadj_fsi.su2_exec = "SU2_CFD_AD" discadj_fsi.timeout = 1600 discadj_fsi.tol = 0.00001 test_list.append(discadj_fsi) ################################### ### Coupled CHT Adjoint ### ################################### # Coupled discrete adjoint for heatflux in heated cylinder array discadj_cht = TestCase('discadj_cht') discadj_cht.cfg_dir = "coupled_cht/disc_adj_incomp_2d" discadj_cht.cfg_file = "cht_2d_3cylinders.cfg" discadj_cht.test_iter = 10 discadj_cht.test_vals = [-2.364405, -3.085551, -3.085518, -3.085513] #last 4 columns discadj_cht.su2_exec = "SU2_CFD_AD" discadj_cht.timeout = 1600 discadj_cht.tol = 0.00001 test_list.append(discadj_cht) ###################################### ### RUN TESTS ### ###################################### pass_list = [test.run_test() for test in test_list] ###################################### ### RUN PYTHON TESTS ### ###################################### # test discrete_adjoint.py discadj_euler_py = TestCase('discadj_euler_py') discadj_euler_py.cfg_dir = "cont_adj_euler/naca0012" discadj_euler_py.cfg_file = "inv_NACA0012.cfg" discadj_euler_py.test_iter = 10 discadj_euler_py.su2_exec = "discrete_adjoint.py -f" discadj_euler_py.timeout = 1600 discadj_euler_py.reference_file = "of_grad_cd_disc.dat.ref" discadj_euler_py.test_file = "of_grad_cd.dat" pass_list.append(discadj_euler_py.run_filediff()) test_list.append(discadj_euler_py) # test discrete_adjoint with multiple ffd boxes discadj_multiple_ffd_py = TestCase('discadj_multiple_ffd_py') discadj_multiple_ffd_py.cfg_dir = "multiple_ffd/naca0012" discadj_multiple_ffd_py.cfg_file = "inv_NACA0012_ffd.cfg" discadj_multiple_ffd_py.test_iter = 9 discadj_multiple_ffd_py.su2_exec = "discrete_adjoint.py -f" discadj_multiple_ffd_py.timeout = 1600 discadj_multiple_ffd_py.reference_file = "of_grad_cd.dat.ref" discadj_multiple_ffd_py.test_file = "of_grad_cd.dat" pass_list.append(discadj_multiple_ffd_py.run_filediff()) test_list.append(discadj_multiple_ffd_py) # test direct_differentiation.py directdiff_euler_py = TestCase('directdiff_euler_py') directdiff_euler_py.cfg_dir = "cont_adj_euler/naca0012" directdiff_euler_py.cfg_file = "inv_NACA0012_FD.cfg" directdiff_euler_py.test_iter = 10 directdiff_euler_py.su2_exec = "direct_differentiation.py -f" directdiff_euler_py.timeout = 1600 directdiff_euler_py.reference_file = "of_grad_directdiff.dat.ref" directdiff_euler_py.test_file = "DIRECTDIFF/of_grad_directdiff.dat" pass_list.append(directdiff_euler_py.run_filediff()) test_list.append(directdiff_euler_py) # test direct_differentiation.py with multiple ffd boxes directdiff_multiple_ffd_py = TestCase('directdiff_multiple_ffd_py') directdiff_multiple_ffd_py.cfg_dir = "multiple_ffd/naca0012" directdiff_multiple_ffd_py.cfg_file = "inv_NACA0012_ffd.cfg" directdiff_multiple_ffd_py.test_iter = 9 directdiff_multiple_ffd_py.su2_exec = "direct_differentiation.py -f" directdiff_multiple_ffd_py.timeout = 1600 directdiff_multiple_ffd_py.reference_file = "of_grad_directdiff.dat.ref" directdiff_multiple_ffd_py.test_file = "DIRECTDIFF/of_grad_directdiff.dat" pass_list.append(directdiff_multiple_ffd_py.run_filediff()) test_list.append(directdiff_multiple_ffd_py) # test continuous_adjoint.py, with multiple objectives # discadj_multi_py = TestCase('discadj_multi_py') # discadj_multi_py.cfg_dir = "cont_adj_euler/wedge" # discadj_multi_py.cfg_file = "inv_wedge_ROE_multiobj.cfg" # discadj_multi_py.test_iter = 10 # discadj_multi_py.su2_exec = "discrete_adjoint.py" # discadj_multi_py.timeout = 1600 # discadj_multi_py.reference_file = "of_grad_combo.dat.refdiscrete" # discadj_multi_py.test_file = "of_grad_combo.dat" # pass_list.append(discadj_multi_py.run_filediff()) # test_list.append(discadj_multi_py) # FEA AD Flow Load Sensitivity pywrapper_FEA_AD_FlowLoad = TestCase('pywrapper_FEA_AD_FlowLoad') pywrapper_FEA_AD_FlowLoad.cfg_dir = "py_wrapper/disc_adj_fea/flow_load_sens" pywrapper_FEA_AD_FlowLoad.cfg_file = "configAD_fem.cfg" pywrapper_FEA_AD_FlowLoad.test_iter = 100 pywrapper_FEA_AD_FlowLoad.test_vals = [ -0.13945587401579657, -0.585985886606256, -0.00036377840086080753, -0.0031005670174756375 ] #last 4 columns pywrapper_FEA_AD_FlowLoad.su2_exec = "python run_adjoint.py -f" pywrapper_FEA_AD_FlowLoad.timeout = 1600 pywrapper_FEA_AD_FlowLoad.tol = 0.000001 pywrapper_FEA_AD_FlowLoad.new_output = False test_list.append(pywrapper_FEA_AD_FlowLoad) pass_list.append(pywrapper_FEA_AD_FlowLoad.run_test()) # Flow AD Mesh Displacement Sensitivity pywrapper_FEA_AD_FlowLoad = TestCase('pywrapper_CFD_AD_MeshDisp') pywrapper_FEA_AD_FlowLoad.cfg_dir = "py_wrapper/disc_adj_flow/mesh_disp_sens" pywrapper_FEA_AD_FlowLoad.cfg_file = "configAD_flow.cfg" pywrapper_FEA_AD_FlowLoad.test_iter = 1000 pywrapper_FEA_AD_FlowLoad.test_vals = [ 30.000000, -2.518695, 1.390150, 0.000000 ] #last 4 columns pywrapper_FEA_AD_FlowLoad.su2_exec = "python run_adjoint.py -f" pywrapper_FEA_AD_FlowLoad.timeout = 1600 pywrapper_FEA_AD_FlowLoad.tol = 0.000001 pywrapper_FEA_AD_FlowLoad.new_output = False test_list.append(pywrapper_FEA_AD_FlowLoad) pass_list.append(pywrapper_FEA_AD_FlowLoad.run_test()) # Tests summary print('==================================================================') print('Summary of the serial tests') print('python version:', sys.version) for i, test in enumerate(test_list): if (pass_list[i]): print(' passed - %s' % test.tag) else: print('* FAILED - %s' % test.tag) if all(pass_list): sys.exit(0) else: sys.exit(1)
def testFailedResult(self): self.test = WasRun("testBrokenMethod") self.test.run(self.result) assert "1 run, 1 failed" == self.result.summary()
def main(): '''This program runs SU2 and ensures that the output matches specified values. This will be used to do checks when code is pushed to github to make sure nothing is broken. ''' test_list = [] ##################################### ### Disc. adj. compressible Euler ### ##################################### # Inviscid NACA0012 discadj_naca0012 = TestCase('discadj_naca0012') discadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" discadj_naca0012.cfg_file = "inv_NACA0012_discadj.cfg" discadj_naca0012.test_iter = 100 discadj_naca0012.test_vals = [-3.606841, -9.035214, -0.000000, 0.005688] #last 4 columns discadj_naca0012.su2_exec = "parallel_computation.py -f" discadj_naca0012.timeout = 1600 discadj_naca0012.tol = 0.00001 test_list.append(discadj_naca0012) # Inviscid Cylinder 3D (multiple markers) discadj_cylinder3D = TestCase('discadj_cylinder3D') discadj_cylinder3D.cfg_dir = "disc_adj_euler/cylinder3D" discadj_cylinder3D.cfg_file = "inv_cylinder3D.cfg" discadj_cylinder3D.test_iter = 5 discadj_cylinder3D.test_vals = [-3.720476, -4.039256, 0.000000, 0.000000] #last 4 columns discadj_cylinder3D.su2_exec = "parallel_computation.py -f" discadj_cylinder3D.timeout = 1600 discadj_cylinder3D.tol = 0.00001 test_list.append(discadj_cylinder3D) #################################### ### Disc. adj. compressible RANS ### #################################### # Adjoint turbulent NACA0012 SA discadj_rans_naca0012_sa = TestCase('discadj_rans_naca0012_sa') discadj_rans_naca0012_sa.cfg_dir = "disc_adj_rans/naca0012" discadj_rans_naca0012_sa.cfg_file = "turb_NACA0012_sa.cfg" discadj_rans_naca0012_sa.test_iter = 10 discadj_rans_naca0012_sa.test_vals = [ -1.751965, 0.485796, 0.182895, -0.000018 ] #last 4 columns discadj_rans_naca0012_sa.su2_exec = "parallel_computation.py -f" discadj_rans_naca0012_sa.timeout = 1600 discadj_rans_naca0012_sa.tol = 0.00001 test_list.append(discadj_rans_naca0012_sa) # Adjoint turbulent NACA0012 SST discadj_rans_naca0012_sst = TestCase('discadj_rans_naca0012_sst') discadj_rans_naca0012_sst.cfg_dir = "disc_adj_rans/naca0012" discadj_rans_naca0012_sst.cfg_file = "turb_NACA0012_sst.cfg" discadj_rans_naca0012_sst.test_iter = 10 discadj_rans_naca0012_sst.test_vals = [ -1.654193, -0.499281, 0.145545, -0.000018 ] #last 4 columns discadj_rans_naca0012_sst.su2_exec = "parallel_computation.py -f" discadj_rans_naca0012_sst.timeout = 1600 discadj_rans_naca0012_sst.tol = 0.00001 test_list.append(discadj_rans_naca0012_sst) ####################################### ### Disc. adj. incompressible Euler ### ####################################### # Adjoint Incompressible Inviscid NACA0012 discadj_incomp_NACA0012 = TestCase('discadj_incomp_NACA0012') discadj_incomp_NACA0012.cfg_dir = "cont_adj_incomp_euler/naca0012" discadj_incomp_NACA0012.cfg_file = "incomp_NACA0012_disc.cfg" discadj_incomp_NACA0012.test_iter = 20 discadj_incomp_NACA0012.test_vals = [ -2.917789, -2.714752, 0.000000, 0.000000 ] #last 4 columns discadj_incomp_NACA0012.su2_exec = "parallel_computation.py -f" discadj_incomp_NACA0012.timeout = 1600 discadj_incomp_NACA0012.tol = 0.00001 test_list.append(discadj_incomp_NACA0012) ##################################### ### Disc. adj. incompressible N-S ### ##################################### # Adjoint Incompressible Viscous Cylinder discadj_incomp_cylinder = TestCase('discadj_incomp_cylinder') discadj_incomp_cylinder.cfg_dir = "cont_adj_incomp_navierstokes/cylinder" discadj_incomp_cylinder.cfg_file = "lam_incomp_cylinder_disc.cfg" discadj_incomp_cylinder.test_iter = 20 discadj_incomp_cylinder.test_vals = [ -2.727423, -2.272530, 0.000000, 0.000000 ] #last 4 columns discadj_incomp_cylinder.su2_exec = "parallel_computation.py -f" discadj_incomp_cylinder.timeout = 1600 discadj_incomp_cylinder.tol = 0.00001 test_list.append(discadj_incomp_cylinder) ###################################### ### Disc. adj. incompressible RANS ### ###################################### # Adjoint Incompressible Turbulent NACA 0012 discadj_incomp_turb_NACA0012 = TestCase('discadj_incomp_turb_NACA0012') discadj_incomp_turb_NACA0012.cfg_dir = "incomp_rans/naca0012" discadj_incomp_turb_NACA0012.cfg_file = "naca0012_disc.cfg" discadj_incomp_turb_NACA0012.test_iter = 100 discadj_incomp_turb_NACA0012.test_vals = [ -3.645810, -1.625922, 0.000000, 0.000000 ] #last 4 columns discadj_incomp_turb_NACA0012.su2_exec = "parallel_computation.py -f" discadj_incomp_turb_NACA0012.timeout = 1600 discadj_incomp_turb_NACA0012.tol = 0.00001 test_list.append(discadj_incomp_turb_NACA0012) ####################################################### ### Unsteady Disc. adj. compressible RANS ### ####################################################### # Turbulent Cylinder discadj_cylinder = TestCase('unsteady_cylinder') discadj_cylinder.cfg_dir = "disc_adj_rans/cylinder" discadj_cylinder.cfg_file = "cylinder.cfg" discadj_cylinder.test_iter = 9 discadj_cylinder.test_vals = [ 3.746900, -1.544893, -8.3447e-03, 1.3808e-05 ] #last 4 columns discadj_cylinder.su2_exec = "parallel_computation.py -f" discadj_cylinder.timeout = 1600 discadj_cylinder.tol = 0.00001 discadj_cylinder.unsteady = True test_list.append(discadj_cylinder) ####################################################### ### Disc. adj. turbomachinery ### ####################################################### # Transonic Stator 2D discadj_trans_stator = TestCase('transonic_stator') discadj_trans_stator.cfg_dir = "disc_adj_turbomachinery/transonic_stator_2D" discadj_trans_stator.cfg_file = "transonic_stator.cfg" discadj_trans_stator.test_iter = 79 discadj_trans_stator.test_vals = [ -2.001081, -2.115303, -0.450996, -15.778175 ] #last 4 columns discadj_trans_stator.su2_exec = "parallel_computation.py -f" discadj_trans_stator.timeout = 1600 discadj_trans_stator.tol = 0.00001 test_list.append(discadj_trans_stator) ################################### ### Structural Adjoint ### ################################### # Turbulent Cylinder discadj_fea = TestCase('discadj_fea') discadj_fea.cfg_dir = "disc_adj_fea" discadj_fea.cfg_file = "configAD_fem.cfg" discadj_fea.test_iter = 9 discadj_fea.test_vals = [-4.872191, -5.131614, -3.6413e-04, -8.7087e+00] #last 4 columns discadj_fea.su2_exec = "parallel_computation.py -f" discadj_fea.timeout = 1600 discadj_fea.tol = 0.00001 test_list.append(discadj_fea) ################################### ### Coupled FSI Adjoint ### ################################### # Structural model discadj_fsi = TestCase('discadj_fsi') discadj_fsi.cfg_dir = "disc_adj_fsi" discadj_fsi.cfg_file = "configAD_fsi.cfg" discadj_fsi.test_iter = 3000 discadj_fsi.test_vals = [0.958848, -0.157183, 0.658415, 1.302076] #last 4 columns discadj_fsi.su2_exec = "parallel_computation.py -f" discadj_fsi.timeout = 1600 discadj_fsi.tol = 0.00001 test_list.append(discadj_fsi) ###################################### ### RUN TESTS ### ###################################### pass_list = [test.run_test() for test in test_list] # Tests summary print('==================================================================') print('Summary of the parallel tests') print('python version:', sys.version) for i, test in enumerate(test_list): if (pass_list[i]): print(' passed - %s' % test.tag) else: print('* FAILED - %s' % test.tag) if all(pass_list): sys.exit(0) else: sys.exit(1)
def main(): '''This program runs SU2 and ensures that the output matches specified values. This will be used to do checks when code is pushed to github to make sure nothing is broken. ''' test_list = [] ##################################### ### Disc. adj. compressible Euler ### ##################################### # Inviscid NACA0012 discadj_naca0012 = TestCase('discadj_naca0012') discadj_naca0012.cfg_dir = "cont_adj_euler/naca0012" discadj_naca0012.cfg_file = "inv_NACA0012_discadj.cfg" discadj_naca0012.test_iter = 100 discadj_naca0012.test_vals = [-3.606839, -9.035212, -0.000000, 0.005688] #last 4 columns discadj_naca0012.su2_exec = "SU2_CFD_AD" discadj_naca0012.timeout = 1600 discadj_naca0012.tol = 0.00001 test_list.append(discadj_naca0012) # Inviscid Cylinder 3D (multiple markers) discadj_cylinder3D = TestCase('discadj_cylinder3D') discadj_cylinder3D.cfg_dir = "disc_adj_euler/cylinder3D" discadj_cylinder3D.cfg_file = "inv_cylinder3D.cfg" discadj_cylinder3D.test_iter = 5 discadj_cylinder3D.test_vals = [-3.724711, -4.052467, -0.000000, 0.000000] #last 4 columns discadj_cylinder3D.su2_exec = "SU2_CFD_AD" discadj_cylinder3D.timeout = 1600 discadj_cylinder3D.tol = 0.00001 test_list.append(discadj_cylinder3D) ####################################################### ### Disc. adj. compressible RANS ### ####################################################### # Adjoint turbulent NACA0012 SA discadj_rans_naca0012_sa = TestCase('discadj_rans_naca0012_sa') discadj_rans_naca0012_sa.cfg_dir = "disc_adj_rans/naca0012" discadj_rans_naca0012_sa.cfg_file = "turb_NACA0012_sa.cfg" discadj_rans_naca0012_sa.test_iter = 10 discadj_rans_naca0012_sa.test_vals = [-1.751962, 0.485775, 0.182122, -0.000018] #last 4 columns discadj_rans_naca0012_sa.su2_exec = "SU2_CFD_AD" discadj_rans_naca0012_sa.timeout = 1600 discadj_rans_naca0012_sa.tol = 0.00001 test_list.append(discadj_rans_naca0012_sa) # Adjoint turbulent NACA0012 SST discadj_rans_naca0012_sst = TestCase('discadj_rans_naca0012_sst') discadj_rans_naca0012_sst.cfg_dir = "disc_adj_rans/naca0012" discadj_rans_naca0012_sst.cfg_file = "turb_NACA0012_sst.cfg" discadj_rans_naca0012_sst.test_iter = 10 discadj_rans_naca0012_sst.test_vals = [-1.654903, -0.491416, 0.109157, 0.000011] #last 4 columns discadj_rans_naca0012_sst.su2_exec = "SU2_CFD_AD" discadj_rans_naca0012_sst.timeout = 1600 discadj_rans_naca0012_sst.tol = 0.00001 test_list.append(discadj_rans_naca0012_sst) ####################################### ### Disc. adj. incompressible Euler ### ####################################### # Adjoint Incompressible Inviscid NACA0012 discadj_incomp_NACA0012 = TestCase('discadj_incomp_NACA0012') discadj_incomp_NACA0012.cfg_dir = "cont_adj_incomp_euler/naca0012" discadj_incomp_NACA0012.cfg_file = "incomp_NACA0012_disc.cfg" discadj_incomp_NACA0012.test_iter = 20 discadj_incomp_NACA0012.test_vals = [-3.391214, -2.560170, 0.000000, 0.000000] #last 4 columns discadj_incomp_NACA0012.su2_exec = "SU2_CFD_AD" discadj_incomp_NACA0012.timeout = 1600 discadj_incomp_NACA0012.tol = 0.00001 test_list.append(discadj_incomp_NACA0012) ##################################### ### Disc. adj. incompressible N-S ### ##################################### # Adjoint Incompressible Viscous Cylinder discadj_incomp_cylinder = TestCase('discadj_incomp_cylinder') discadj_incomp_cylinder.cfg_dir = "cont_adj_incomp_navierstokes/cylinder" discadj_incomp_cylinder.cfg_file = "lam_incomp_cylinder_disc.cfg" discadj_incomp_cylinder.test_iter = 20 discadj_incomp_cylinder.test_vals = [-2.802148, -2.228080, 0.000000, 0.000000] #last 4 columns discadj_incomp_cylinder.su2_exec = "SU2_CFD_AD" discadj_incomp_cylinder.timeout = 1600 discadj_incomp_cylinder.tol = 0.00001 test_list.append(discadj_incomp_cylinder) ###################################### ### Disc. adj. incompressible RANS ### ###################################### # Adjoint Incompressible Turbulent NACA 0012 discadj_incomp_turb_NACA0012 = TestCase('discadj_incomp_turb_NACA0012') discadj_incomp_turb_NACA0012.cfg_dir = "incomp_rans/naca0012" discadj_incomp_turb_NACA0012.cfg_file = "naca0012_disc.cfg" discadj_incomp_turb_NACA0012.test_iter = 10 discadj_incomp_turb_NACA0012.test_vals = [-3.847506, -1.009607, 0.000000, 0.000000] #last 4 columns discadj_incomp_turb_NACA0012.su2_exec = "SU2_CFD_AD" discadj_incomp_turb_NACA0012.timeout = 1600 discadj_incomp_turb_NACA0012.tol = 0.00001 test_list.append(discadj_incomp_turb_NACA0012) ####################################################### ### Unsteady Disc. adj. compressible RANS ### ####################################################### # Turbulent Cylinder discadj_cylinder = TestCase('unsteady_cylinder') discadj_cylinder.cfg_dir = "disc_adj_rans/cylinder" discadj_cylinder.cfg_file = "cylinder.cfg" discadj_cylinder.test_iter = 9 discadj_cylinder.test_vals = [3.746904, -1.544886, -0.008345, 0.000014] #last 4 columns discadj_cylinder.su2_exec = "SU2_CFD_AD" discadj_cylinder.timeout = 1600 discadj_cylinder.tol = 0.00001 discadj_cylinder.unsteady = True test_list.append(discadj_cylinder) ################################### ### Structural Adjoint ### ################################### # Structural model discadj_fea = TestCase('discadj_fea') discadj_fea.cfg_dir = "disc_adj_fea" discadj_fea.cfg_file = "configAD_fem.cfg" discadj_fea.test_iter = 9 discadj_fea.test_vals = [-6.403771, -6.404196, -3.6413e-04, -8.7087e+00] #last 4 columns discadj_fea.su2_exec = "SU2_CFD_AD" discadj_fea.timeout = 1600 discadj_fea.tol = 0.00001 test_list.append(discadj_fea) ################################### ### Coupled FSI Adjoint ### ################################### # Structural model discadj_fsi = TestCase('discadj_fsi') discadj_fsi.cfg_dir = "disc_adj_fsi" discadj_fsi.cfg_file = "configAD_fsi.cfg" discadj_fsi.test_iter = 3000 discadj_fsi.test_vals = [0.958848,-0.157183,0.658415,1.302076] #last 4 columns discadj_fsi.su2_exec = "SU2_CFD_AD" discadj_fsi.timeout = 1600 discadj_fsi.tol = 0.00001 test_list.append(discadj_fsi) ###################################### ### RUN TESTS ### ###################################### pass_list = [ test.run_test() for test in test_list ] ###################################### ### RUN PYTHON TESTS ### ###################################### # test discrete_adjoint.py discadj_euler_py = TestCase('discadj_euler_py') discadj_euler_py.cfg_dir = "cont_adj_euler/naca0012" discadj_euler_py.cfg_file = "inv_NACA0012.cfg" discadj_euler_py.test_iter = 10 discadj_euler_py.su2_exec = "discrete_adjoint.py" discadj_euler_py.timeout = 1600 discadj_euler_py.reference_file = "of_grad_cd_disc.dat.ref" discadj_euler_py.test_file = "of_grad_cd.dat" pass_list.append(discadj_euler_py.run_filediff()) test_list.append(discadj_euler_py) # test direct_differentiation.py directdiff_euler_py = TestCase('directdiff_euler_py') directdiff_euler_py.cfg_dir = "cont_adj_euler/naca0012" directdiff_euler_py.cfg_file = "inv_NACA0012_FD.cfg" directdiff_euler_py.test_iter = 10 directdiff_euler_py.su2_exec = "direct_differentiation.py" directdiff_euler_py.timeout = 1600 directdiff_euler_py.reference_file = "of_grad_directdiff.dat.ref" directdiff_euler_py.test_file = "DIRECTDIFF/of_grad_directdiff.dat" pass_list.append(directdiff_euler_py.run_filediff()) test_list.append(directdiff_euler_py) # test continuous_adjoint.py, with multiple objectives discadj_multi_py = TestCase('discadj_multi_py') discadj_multi_py.cfg_dir = "cont_adj_euler/wedge" discadj_multi_py.cfg_file = "inv_wedge_ROE_multiobj.cfg" discadj_multi_py.test_iter = 10 discadj_multi_py.su2_exec = "discrete_adjoint.py" discadj_multi_py.timeout = 1600 discadj_multi_py.reference_file = "of_grad_combo.dat.refdiscrete" discadj_multi_py.test_file = "of_grad_combo.dat" pass_list.append(discadj_multi_py.run_filediff()) test_list.append(discadj_multi_py) # Tests summary print('==================================================================') print('Summary of the serial tests') print('python version:', sys.version) for i, test in enumerate(test_list): if (pass_list[i]): print(' passed - %s'%test.tag) else: print('* FAILED - %s'%test.tag) if all(pass_list): sys.exit(0) else: sys.exit(1)
def __init__(self, name): self.wasRun = None TestCase.__init__(self, name)
def do_post_suite_execute_work(test_run,suite) : dprint(1,"* Entering do_post_suite_execute_work") # set the stop time as now suite.set_end_time() # unset the environment variables do_env_vars(test_run.env_var_list,"unset") # parse the output log if os.path.getsize(suite.output_log) <= 0 : # file either does not exist or has no content suite.set_status("INDETERMINATE") else : # parse the log to find results # open output file try : dprint(3," * Opening file " + suite.output_log) log = open(suite.output_log,'r') except IOError,e : print "Problem opening file %s" % (suite.output_log) print e[0], e[1] # end try for line in log : # see if there is a TC_RESULT line in the output if "TC_RESULT" in line : suite.tc_count = suite.tc_count + 1 # get a new TestCase object; temporarily name it "testN" temp_name = "test%d" % (suite.tc_count) tc = TestCase(temp_name) tc.run_order = suite.tc_count if re.search(r'TC_RESULT\s*=\s*PASS',line) : suite.tc_pass = suite.tc_pass + 1 tc.set_status("PASS") dprint(3," * TC status is PASS") elif re.search(r'TC_RESULT\s*=\s*EXPECTED_TO_FAIL',line) : suite.tc_expected_to_fail = suite.tc_expected_to_fail + 1 tc.set_status("EXPECTED_TO_FAIL") dprint(3," * TC status is EXPECTED_TO_FAIL") elif re.search(r'TC_RESULT\s*=\s*FAIL',line) : suite.tc_fail = suite.tc_fail + 1 tc.set_status("FAIL") dprint(3," * TC status is FAIL") else : # a line containing TC_RESULT was found, but it is not a known status suite.tc_indeterminate = suite.tc_indeterminate + 1 tc.set_status("INDETERMINATE") dprint(3," * TC status is INDETERMINATE") # end if # there should be a name included with the result parsed = re.split('TC_NAME\s*=',line) if len(parsed) > 1 : # there's a name; take the first word as the TC name remaining = parsed[1] parsed = remaining.rsplit(None) if len(parsed) > 0 and parsed[0] != "" : # name found tc.name = parsed[0] dprint(3," * TC name found: " + tc.name) else : # even though 'TC_NAME=' found, no name given, leave the temporary on in place dprint(3," * TC_NAME found, but no name given") # end if else : # no name given, leave the temporary one in place dprint(3," * No TC_NAME found") # end if # add the TC object to the suite's list suite.test_case_list.append(tc) # end if # end for # close the file log.close()