font_size = 11 legend_font_size = 11 # CHANGE TO YOUR HORI PATH set_directory(os.environ['SCRATCH'] + '/usr/pylib/hori/data_QE_BEEF') #################### ## Set up pathway ## #################### # Define the reaction pathway. Note that steps are added to the pathway via the method path.addstep # Defines '*' as the starting point, and 0. as the reference free energy associated with state '*' path = Pathway('*', 0.) # - for reactants, + for products. a_X defines X* while, while pe is a proton-electron pair path.addstep('*', 'CHO*', ['-s', '-CO', '-pe', '+a_CHO']) path.addstep('CHO*', 'CH2O*', ['-a_CHO', '-pe', '+a_CH2O']) path.addstep('CH2O*', 'CH3O*', ['-a_CH2O', '-pe', '+a_CH3O']) path.addstep('CH3O*', 'CH3OH', ['-a_CH3O', '-pe', '+s', '+CH3OH']) # Thermodynamics temperature = 298.15 # K at = AdsorbateThermodynamics(['CHO', 'CH2O', 'CH3O', ''], # list of adsorbates hbond_dict=hbond_dict(), # hydrogen bond dictionary (hbond_dict() is the default) temperature=temperature, # temperature vibrationsmode='generic', # vibrations - generic uses the same for all surfaces surface='MoS2-vac-no-H2O') # surface name
def create_full_pathway(): """Returns the full CO2 reduction pathway that I have commonly looked at.""" from hori.pathway import Pathway fp = Pathway(startingstep='1', startingenergy=0.) fp.addstep('1', '5', ['-s', '-CO2', '-pe', '+a_OCHO']) fp.addstep('5', '6', ['-a_OCHO', '-pe', '+s', '+HCOOH']) fp.addstep('5', '11', ['-a_OCHO', '-pe', '+a_OCH2O']) fp.addstep('11', '12', ['-a_OCH2O', '-s', '-pe', '+a_OCH3', '+a_O']) fp.addstep('12', '14', ['-a_OCH3', '-a_O', '-pe', '+a_OCH3', '+a_OH']) fp.addstep('14', '16', ['-a_OCH3', '-a_OH', '-pe', '+s', '+a_OCH3', '+H2O']) fp.addstep('16', '18', ['-a_OCH3', '-pe', '+a_O', '+CH4']) fp.addstep('18', '20', ['-a_O', '-pe', '+a_OH']) fp.addstep('20', '21', ['-a_OH', '-pe', '+s', '+H2O']) fp.addstep('1', '28', ['-s', '-CO2', '-pe', '+a_COOH']) fp.addstep('28', '3', ['-a_COOH', '-pe', '+a_CO', '+H2O']) fp.addstep('28', '4', ['-a_COOH', '-pe', '+CO', '+H2O', '+s']) fp.addstep('28', '6', ['-a_COOH', '-pe', '+HCOOH', '+s']) fp.addstep('28', '2', ['-a_COOH', '-s', '+a_CO', '+a_OH']) fp.addstep('3', '22', ['-a_CO', '-pe', '+a_COH']) fp.addstep('3', '23', ['-a_CO', '-pe', '+a_CHO']) fp.addstep('23', '25', ['-a_CHO', '-pe', '+a_CH2O']) fp.addstep('23', '24', ['-a_CHO', '-pe', '+a_CHOH']) fp.addstep('22', '24', ['-a_COH', '-pe', '+a_CHOH']) fp.addstep('25', '26', ['-a_CH2O', '-pe', '+a_CH2OH']) fp.addstep('24', '26', ['-a_CHOH', '-pe', '+a_CH2OH']) fp.addstep('25', '16', ['-a_CH2O', '-pe', '+a_OCH3']) fp.addstep('26', '27', ['-a_CH2OH', '-pe', '+CH3OH', '+s']) fp.addstep('22', '29', ['-a_COH', '-pe', '+a_C', '+H2O']) fp.addstep('29', '30', ['-a_C', '-pe', '+a_CH']) fp.addstep('24', '30', ['-a_CHOH', '-pe', '+H2O', '+a_CH']) fp.addstep('30', '31', ['-a_CH', '-pe', '+a_CH2']) fp.addstep('26', '31', ['-a_CH2OH', '-pe', '+H2O', '+a_CH2']) fp.addstep('31', '32', ['-a_CH2', '-pe', '+a_CH3']) fp.addstep('32', '21', ['-a_CH3', '-pe', '+CH4', '+s']) fp.addstep('1', '33', ['-s', '-pe', '+a_H']) fp.addstep('33', '34', ['-a_H', '-pe', '+H2', '+s']) fp.addstep('16', '27', ['-a_OCH3', '-pe', '+s', '+CH3OH']) fp.addstep('28', '43', ['-a_COOH', '-pe', '+a_COHOH']) fp.addstep('43', '22', ['-a_COHOH', '-pe', '+a_COH', '+H2O']) fp.addstep('5', '44', ['-a_OCHO', '-s', '+a_CHO', '+a_O']) fp.addstep('44', '45', ['-a_CHO', '-a_O', '-pe', '+a_CHO', '+a_OH']) fp.addstep('45', '23', ['-a_CHO', '-a_OH', '-pe', '+a_CHO', '+s', '+H2O']) fp.addstep('3', '46', ['-a_CO', '-s', '+a_C', '+a_O']) fp.addstep('46', '37', ['-a_C', '-a_O', '-pe', '+a_C', '+a_OH']) fp.addstep('2', '3', ['-a_CO', '-a_OH', '-pe', '+H2O', '+s', '+a_CO']) fp.addstep('22', '37', ['-a_COH', '-s', '+a_C', '+a_OH']) fp.addstep('37', '29', ['-a_C', '-a_OH', '-pe', '+a_C', '+s', '+H2O']) fp.addstep('23', '38', ['-a_CHO', '-s', '+a_CH', '+a_O']) fp.addstep('38', '47', ['-a_CH', '-a_O', '-pe', '+a_CH', '+a_OH']) fp.addstep('25', '48', ['-a_CH2O', '-s', '+a_CH2', '+a_O']) fp.addstep('48', '39', ['-a_CH2', '-a_O', '-pe', '+a_CH2', '+a_OH']) fp.addstep('47', '30', ['-a_CH', '-a_OH', '-pe', '+a_CH', '+s', '+H2O']) fp.addstep('16', '49', ['-a_OCH3', '-s', '+a_O', '+a_CH3']) fp.addstep('49', '50', ['-a_CH3', '-a_O', '-pe', '+a_CH3', '+a_OH']) fp.addstep('39', '31', ['-a_CH2', '-a_OH', '-pe', '+a_CH2', '+s', '+H2O']) fp.addstep('50', '32', ['-a_CH3', '-a_OH', '-pe', '+a_CH3', '+s', '+H2O']) fp.addstep('25', '40', ['-a_CH2O', '+0.5C2H4', '+a_O']) fp.addstep('40', '41', ['-a_O', '-pe', '+a_OH']) fp.addstep('41', '42', ['-a_OH', '-pe', '+s', '+H2O']) return fp