def run(): from os import listdir system_sets = get_sys_sets() for system_set in system_sets: system = system_set[0] [nr, nphi], phiperiod = system_set[1:3] moldy = system_set[3] print nr,nphi, moldy gc.enable() input_file_folder_consts = '/space/tohekorh/Spiral/bender_input/calc/%s/' %moldy \ + '%s/phiper=%.2f/nr-nphi=%i-%i/' \ %(system, phiperiod, nr, nphi) #input_file_folder_moldy = '/space/tohekorh/Spiral/bender_input/calc/moldy/' path_log = '/space/tohekorh/Spiral/bender_output/%s/' %system if not exists(path_log): makedirs(path_log) for input_folder in listdir(input_file_folder_consts): input_file_folder = input_file_folder_consts + input_folder + '/' if input_folder != 'store': for input_file in listdir(input_file_folder): if input_file[-3:] == 'txt': if not has_been_calculated(input_file_folder + input_file, 'read'): logfile = open(path_log + 'logfile.txt', 'a') in_file = input_file_folder + input_file logfile.write(str(datetime.now()) + ' \n') logfile.write(str(system_set) + ' \n') try: #if query_yes_no('system = %s, moldy = %s' %(system, moldy) + " run this " + input_file, 'no'): param_set = parse_input(input_file_folder + input_file) run_bender(param_set, in_file) unreached = gc.collect() del gc.garbage[:] print 'in collect there was %i unreached objects' %unreached logfile.write(input_file + ' SUCCESS! \n\n') has_been_calculated(in_file, 'write_ok') except Exception as e: logfile.write(str(e) + ' \n') logfile.write(input_file + ' ERROR! \n\n') has_been_calculated(in_file, 'write_not_ok') logfile.close() if system != 'spiral': write_total_synopsis(nr, nphi, phiperiod, system, input_file_folder_consts) study_total_synopsis(nr, nphi, phiperiod, system)
def run_tests(): from os import listdir input_file_folder_consts = '/space/tohekorh/Spiral/bender_input/tests/' for input_file in listdir(input_file_folder_consts): if input_file[-3:] == 'txt': param_set = parse_input(input_file_folder_consts + input_file) nr, nphi = param_set["nr"], param_set["nphi"] tests_a = tests(nr, nphi) tests_a.tests(param_set)
def parse_u_from_file(in_file): from bender_rw import parse_input from surface import surf param_set = parse_input(in_file) system = param_set["system"] nr, nphi = param_set["nr"], param_set["nphi"] rmin, rmax = param_set["rmin"], param_set["rmax"] phimin, phi_period = param_set["phimin"],param_set["phiperiod"] height = param_set["height"] #moldy_opm = param_set["moldy_opm"] hangle = height / 2 / pi asurf = surf(rmin, rmax, nr, phimin, phi_period, nphi) ue = u(hangle, phi_period, asurf.get_all_surf(), \ system = system) return ue