def execute( inputfile, exe, license, database, outputdirectory, show_log=True, **kwargs, ): filename = get_filename(inputfile, ext=False) inputfile = os.path.abspath(inputfile) outputdirectory = os.path.join(outputdirectory, filename) mkdir_if_not_exist(outputdirectory) logfile = os.path.join(outputdirectory, f'{filename}.log') cmd = command(inputfile, exe, license, database, outputdirectory, **kwargs) cwd = os.getcwd() wdir = os.path.split(exe)[ 0] # nn3 assumes wdir at one folder upper than the executable os.chdir(wdir) process = send(cmd) start_log(process, logfile, show_log) os.chdir(cwd) info = { 'process': process, 'outputdirectory': outputdirectory, 'filename': filename, 'logfile': logfile, 'cmd': cmd, 'wdir': wdir, } return info
if(software=="nextnano++"): folder_examples = folder_examples_nnp + subfolder # nextnano++ elif(software=="nextnano3"): folder_examples = folder_examples_nn3 + subfolder # nextnano3 elif(software=="nextnano.NEGF"): folder_examples = folder_examples_nnNEGF + subfolder # nextnano.NEGF elif(software=="nextnano.MSB"): folder_examples = folder_examples_nnMSB + subfolder # nextnano.MSB #=========================== #================================================================ # Define output folders. If they do not exist, they are created. #================================================================ folder_output = nn.config.config[software]['outputdirectory'] folder_output_python = os.path.join(folder_output,r'nextnanopy') mkdir_if_not_exist(folder_output) mkdir_if_not_exist(folder_output_python) #-------------------------------------------------------- # Specify input file without file extension '.in'/.'xml' #-------------------------------------------------------- my_input_file_no_extension_nnp = r'Jogai_AlGaNGaN_FET_JAP2003_GaNcap_Fig6Fig5_1D_nnp' my_input_file_no_extension_nn3 = r'Jogai_AlGaNGaN_FET_JAP2003_GaNcap_Fig6Fig5_1D_nn3' #my_input_file_no_extension_nnp = r'Transmission_Double_Barrier_1D_nnp' #my_input_file_no_extension_nn3 = r'Transmission_Double_Barrier_1D_nn3' my_input_file_no_extension_nnNEGF = r'THz_QCL_GaAs_AlGaAs_Fathololoumi_OptExpress2012_10K-FAST' my_input_file_no_extension_nnMSB = r'1D_Transmission_DoubleBarrier_CBR_paper_MSB' #=========================== if(software=="nextnano++"): my_input_file_no_extension = my_input_file_no_extension_nnp