ccu.adsorption.adsorbates¶
This module provides common adsorbate structures.
Adsorbates can be retrieved using the get_adsorbate() function
or from any one of the subset dictionaries (CO2RR_ADSORBATES,
NRR_ADSORBATES, ORR_ADSORBATES, HER_ADSORBATES, or
ALL_ADSORBATES).
CO2RR Intermediates from Nitopi et al. [1]
NRR/UOR Intermediates Wan et al. [2] and Li et al. [3]
Bond lengths, angles and positions from NIST.
Example
>>> from ccu.adsorption.adsorbates import get_adsorbate
>>> co2 = get_adsorbate("CO2")
>>> co2
Atoms(symbols='CO2', pbc=False)
>>> co2.info["structure"]
'CO2'
>>> nho = get_adsorbate("NHO")
>>> nho
Atoms(symbols='HNO', pbc=False)
>>> nho.info["structure"]
'NHO'
References
- ccu.adsorption.adsorbates.ALL_ADSORBATES: dict[str, Atoms] = {'C': Atoms(symbols='C', pbc=False), 'CH2': Atoms(symbols='CH2', pbc=False), 'CH2O': Atoms(symbols='CH2O', pbc=False), 'CH3': Atoms(symbols='CH3', pbc=False), 'CHO': Atoms(symbols='CHO', pbc=False), 'CHOH': Atoms(symbols='CHOH', pbc=False), 'CO': Atoms(symbols='CO', pbc=False), 'CO2': Atoms(symbols='CO2', pbc=False), 'COH': Atoms(symbols='COH', pbc=False), 'COOH': Atoms(symbols='CO2H', pbc=False), 'COOH_CIS': Atoms(symbols='CO2H', pbc=False), 'COOH_TRANS': Atoms(symbols='CO2H', pbc=False), 'H': Atoms(symbols='H', pbc=False), 'H2O': Atoms(symbols='OH2', pbc=False), 'HC2OH': Atoms(symbols='CH2OH', pbc=False), 'HCOOH': Atoms(symbols='OCOH2', pbc=False), 'N': Atoms(symbols='N', pbc=False), 'N2': Atoms(symbols='N2', pbc=False), 'N2O': Atoms(symbols='N2O', pbc=False), 'NH': Atoms(symbols='NH', pbc=False), 'NH2': Atoms(symbols='HNH', pbc=False), 'NH2O': Atoms(symbols='NH2O', pbc=False), 'NH2OH': Atoms(symbols='NH2OH', pbc=False), 'NH3': Atoms(symbols='NH3', pbc=False), 'NHO': Atoms(symbols='HNO', pbc=False), 'NHOH': Atoms(symbols='HNOH', pbc=False), 'NO': Atoms(symbols='NO', pbc=False), 'NO2': Atoms(symbols='NO2', pbc=False), 'NO2H': Atoms(symbols='NO2H', pbc=False), 'NO3': Atoms(symbols='NO3', pbc=False), 'NO3H': Atoms(symbols='NO3H', pbc=False), 'NOH': Atoms(symbols='NOH', pbc=False), 'O': Atoms(symbols='O', pbc=False), 'OCH3': Atoms(symbols='OCH3', pbc=False), 'OCHO': Atoms(symbols='CO2H', pbc=False), 'OH': Atoms(symbols='OH', pbc=False)}¶
All internally defined adsorbates
- ccu.adsorption.adsorbates.CO2RR_ADSORBATES = {'C': Atoms(symbols='C', pbc=False), 'CH2': Atoms(symbols='CH2', pbc=False), 'CH2O': Atoms(symbols='CH2O', pbc=False), 'CH3': Atoms(symbols='CH3', pbc=False), 'CHO': Atoms(symbols='CHO', pbc=False), 'CHOH': Atoms(symbols='CHOH', pbc=False), 'CO': Atoms(symbols='CO', pbc=False), 'CO2': Atoms(symbols='CO2', pbc=False), 'COH': Atoms(symbols='COH', pbc=False), 'COOH': Atoms(symbols='CO2H', pbc=False), 'COOH_CIS': Atoms(symbols='CO2H', pbc=False), 'COOH_TRANS': Atoms(symbols='CO2H', pbc=False), 'HC2OH': Atoms(symbols='CH2OH', pbc=False), 'HCOOH': Atoms(symbols='OCOH2', pbc=False), 'OCH3': Atoms(symbols='OCH3', pbc=False), 'OCHO': Atoms(symbols='CO2H', pbc=False)}¶
adsorbates for the carbon dioxide reduction reaction Note that COOH is an alias for COOH_TRANS
- ccu.adsorption.adsorbates.HER_ADSORBATES = {'H': Atoms(symbols='H', pbc=False), 'H2O': Atoms(symbols='OH2', pbc=False), 'OH': Atoms(symbols='OH', pbc=False)}¶
adsorbates for the hydrogen evolution reaction
- ccu.adsorption.adsorbates.NRR_ADSORBATES = {'N': Atoms(symbols='N', pbc=False), 'N2': Atoms(symbols='N2', pbc=False), 'N2O': Atoms(symbols='N2O', pbc=False), 'NH': Atoms(symbols='NH', pbc=False), 'NH2': Atoms(symbols='HNH', pbc=False), 'NH2O': Atoms(symbols='NH2O', pbc=False), 'NH2OH': Atoms(symbols='NH2OH', pbc=False), 'NH3': Atoms(symbols='NH3', pbc=False), 'NHO': Atoms(symbols='HNO', pbc=False), 'NHOH': Atoms(symbols='HNOH', pbc=False), 'NO': Atoms(symbols='NO', pbc=False), 'NO2': Atoms(symbols='NO2', pbc=False), 'NO2H': Atoms(symbols='NO2H', pbc=False), 'NO3': Atoms(symbols='NO3', pbc=False), 'NO3H': Atoms(symbols='NO3H', pbc=False), 'NOH': Atoms(symbols='NOH', pbc=False)}¶
adsorbates for the urea oxidation and nitrate reduction reactions
- ccu.adsorption.adsorbates.ORR_ADSORBATES = {'H2O': Atoms(symbols='OH2', pbc=False), 'O': Atoms(symbols='O', pbc=False), 'OH': Atoms(symbols='OH', pbc=False)}¶
adsorbates for the oxygen reduction and evolution reactions
- ccu.adsorption.adsorbates.get_adsorbate(adsorbate: str) Atoms[source]¶
Retrieve the requested adsorbate from
aseor the internal database.- Parameters:
adsorbate – The name of the adsorbate to retrieve.
- Returns:
An
Atomsinstance representing the requested adsorbate.- Raises:
NotImplementedError – The requested adsorbate is neither a molecule supported by ASE nor a defined adsorbate in
ccu.adsorption.adsorbates.
Note
The name of the adsorbate will be stored under the
"structure"key of itsinfodictionary.See also