Beispiel #1
0
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
Beispiel #2
0
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