# TransportDriver if RUN_TRANS: printer.program_header('trans') # Build the elec struct tsk lst TRANS_TSK_LST = parser.run.build_run_trans_tsks_lst( TRANS_TSK_STR, THY_DCT) # Call ThermoDriver for spc in PES if RUN_OBJ_DCT['pes']: for _, rxn_lst in RUN_PES_DCT.items(): transdriver.run( SPC_DCT, THY_DCT, rxn_lst, TRANS_TSK_LST, RUN_INP_DCT ) else: for spc in RUN_SPC_LST_DCT: print('\nCalculating Transport for species: {}'.format(spc)) transdriver.run( SPC_DCT, THY_DCT, RUN_SPC_LST_DCT, TRANS_TSK_LST, RUN_INP_DCT ) # kTPDriver
def _mechdriver_main(tmp_dir): """ Copy of MechDriver bin """ # print header message and host name (probably combine into one function) ioprinter.program_header('amech') ioprinter.random_cute_animal() ioprinter.host_name() # parse all of the input ioprinter.program_header('inp') inp_strs = ioparser.read_amech_input(tmp_dir) thy_dct = ioparser.thy.theory_dictionary(inp_strs['thy']) kmod_dct, smod_dct = ioparser.models.models_dictionary( inp_strs['mod'], thy_dct) inp_key_dct = ioparser.run.input_dictionary(inp_strs['run']) pes_idx_dct, spc_idx_dct = ioparser.run.chem_idxs(inp_strs['run']) tsk_lst_dct = ioparser.run.tasks( inp_strs['run'], inp_strs['mech'], thy_dct) spc_dct, glob_dct = ioparser.spc.species_dictionary( inp_strs['spc'], inp_strs['dat'], inp_strs['geo'], 'csv') pes_dct = ioparser.mech.pes_dictionary( inp_strs['mech'], 'chemkin', spc_dct) pes_rlst, spc_rlst = ioparser.rlst.run_lst( pes_dct, spc_dct, pes_idx_dct, spc_idx_dct) # build the run-save filesystem directories prefix_fs(inp_key_dct['run_prefix'], inp_key_dct['save_prefix']) # run drivers requested by user es_tsks = tsk_lst_dct.get('es') if es_tsks is not None: ioprinter.program_header('es') esdriver.run( pes_rlst, spc_rlst, es_tsks, spc_dct, glob_dct, thy_dct, inp_key_dct['run_prefix'], inp_key_dct['save_prefix'] ) ioprinter.program_exit('es') therm_tsks = tsk_lst_dct.get('thermo') if therm_tsks is not None: ioprinter.program_header('thermo') thermodriver.run( pes_rlst, spc_rlst, therm_tsks, kmod_dct, smod_dct, spc_dct, thy_dct, inp_key_dct['run_prefix'], inp_key_dct['save_prefix'], tmp_dir ) ioprinter.program_exit('thermo') trans_tsks = tsk_lst_dct.get('trans') if trans_tsks is not None: ioprinter.program_header('trans') if pes_dct: transdriver.run( pes_rlst, spc_rlst, trans_tsks, smod_dct, spc_dct, thy_dct, inp_key_dct['run_prefix'], inp_key_dct['save_prefix'] ) ioprinter.program_exit('trans') ktp_tsks = tsk_lst_dct.get('ktp') if ktp_tsks is not None: ioprinter.program_header('ktp') ktpdriver.run( pes_rlst, ktp_tsks, spc_dct, glob_dct, kmod_dct, smod_dct, inp_key_dct['run_prefix'], inp_key_dct['save_prefix'], tmp_dir ) ioprinter.program_exit('ktp') proc_tsks = tsk_lst_dct.get('proc') if proc_tsks is not None: ioprinter.program_header('proc') procdriver.run( pes_rlst, spc_rlst, proc_tsks, spc_dct, thy_dct, kmod_dct, smod_dct, inp_key_dct['run_prefix'], inp_key_dct['save_prefix'], tmp_dir ) ioprinter.program_exit('proc') # exit program ioprinter.obj('vspace') ioprinter.program_exit('amech')
PES_RLST, SPC_RLST, THERM_TSKS, KMOD_DCT, SMOD_DCT, SPC_DCT, INP_KEY_DCT['run_prefix'], INP_KEY_DCT['save_prefix'] ) ioprinter.program_exit('thermo') TRANS_TSKS = TSK_LST_DCT.get('trans') if TRANS_TSKS is not None: ioprinter.program_header('trans') if PES_DCT: transdriver.run( PES_RLST, SPC_RLST, TRANS_TSKS, SMOD_DCT, SPC_DCT, THY_DCT, INP_KEY_DCT['run_prefix'], INP_KEY_DCT['save_prefix'] ) ioprinter.program_exit('trans') KTP_TSKS = TSK_LST_DCT.get('ktp') if KTP_TSKS is not None: ioprinter.program_header('ktp') ktpdriver.run( PES_RLST, KTP_TSKS, SPC_DCT, GLOB_DCT, KMOD_DCT, SMOD_DCT, INP_KEY_DCT['run_prefix'], INP_KEY_DCT['save_prefix'] )
SPC_RLST, THERM_TSKS, KMOD_DCT, SMOD_DCT, SPC_DCT, INP_KEY_DCT['run_prefix'], INP_KEY_DCT['save_prefix'] ) ioprinter.program_exit('thermo') TRANS_TSKS = TSK_LST_DCT.get('trans') if TRANS_TSKS is not None: ioprinter.program_header('trans') if PES_DCT: transdriver.run( SPC_RLST, SPC_DCT, THY_DCT, TRANS_TSKS, INP_KEY_DCT ) ioprinter.program_exit('trans') KTP_TSKS = TSK_LST_DCT.get('ktp') if KTP_TSKS is not None: ioprinter.program_header('ktp') ktpdriver.run( PES_RLST, KTP_TSKS, SPC_DCT, GLOB_DCT, THY_DCT, KMOD_DCT, SMOD_DCT, INP_KEY_DCT['run_prefix'], INP_KEY_DCT['save_prefix'] )