CO Oxidation on Pt(111): Adsorption, Coadsorption, and NEB Reaction Paths

Note: This tutorial is intended for AMS2026 with access to the UMA-S-1.2-OC25 machine learning potential.

This tutorial will teach you how to:

  • optimize bulk Pt and construct a Pt(111) slab,

  • identify the common adsorption sites on Pt(111),

  • build and relax O*, O2*, CO*, and CO* + O2* structures,

  • compare binding energies with literature trends, and

  • set up a simple NEB reaction path for CO* + O2* → CO2 + O*.

The scientific context is the catalytic oxidation of CO on Pt(111). In particular, we use the same qualitative questions discussed by Eichler and Hafner in Ref. [1]: can coadsorbed CO stabilize molecular oxygen on Pt(111), and which coadsorbed geometry is the more plausible precursor for oxidation?

../_images/NEB_paths_bbf98ab2.png

Fig. 28 Calculated reaction pathways corresponding to CO* + O2* → CO2 + O* with O2 adsorbed at different surface sites. The reaction energies are relative to the binding energy of CO and O2 on Pt(111).

This tutorial is the GUI companion to CatalysisReaction.ipynb.

Note

The GUI workflow is slightly more manual than the notebook workflow. In particular, naming adsorption sites, constructing many related structures, and comparing energies across several jobs requires more bookkeeping in the GUI. It is worth keeping a small table with job names, final energies, and short notes for each structure.

Introduction

Pt(111) is a standard model surface for heterogeneous catalysis, and CO oxidation on Pt is one of the classic benchmark reactions in surface science. A useful way to study such a system computationally is to break the problem into a sequence of manageable steps:

  • optimize the bulk reference,

  • build the slab,

  • identify adsorption sites,

  • test adsorbate and coadsorbate geometries,

  • compare relaxed adsorption energies, and

  • define a reaction path between selected initial and final states.

In this tutorial, we use a 2 x 2 Pt(111) slab and examine:

  • atomic O at fcc and hcp sites,

  • CO at top and bridge sites,

  • molecular O2 in two adsorption motifs, and

  • two CO* + O2* coadsorbed structures.

The final section shows how to define a practical NEB path in the GUI from the relaxed coadsorbed states.

Part A: Bulk Pt Reference

Before building the surface slab, optimize bulk fcc Pt so that the slab uses a lattice parameter consistent with the chosen model chemistry.

Set up and run bulk Pt

1. Open AMSinput: SCM → New Input
2. Build the bulk crystal: Builders → Crystal Structure → Cubic → fcc
3. Choose Pt in the Presets then press OK
4. Switch to the machine learning engine: BANDPanelMLPotentialPanel
5. Set Model to UMA-S-1.2-OC25
6. Set Task to Geometry Optimization
7. Go to Details → GeometryOptimization
8. Set Optimize lattice to Yes
9. Save the job as Pt_fcc_relax
10. Run the calculation

Note

When the run is finished, open the input and click Update Molecule next the Task. Select Model → Lattice and record the optimized lattice parameter from the output. You will use it when constructing the Pt(111) slab. We found 2.784214 Å.

../_images/Pt_relaxed_c7d5b4bc.png

Part B: Build the Pt(111) Slab

Next, construct a Pt(111) slab using the optimized bulk lattice parameter.

Build the slab

1. Open a new AMSinput window
2. Build the bulk crystal: Builders → Crystal Structure → Cubic → fcc
3. Choose Pt in the Presets then press OK
4. Model → Lattice and check the box Adjust atoms when changing lattice vectors
5. Then change the lattice vector lengths to the optimized bulk value
4. Edit → Crystal → Generate Slab… and Convert to Conventional Cell
5. Set the number og layers to 4, the Miller indices to (1,1,1) and click Generate the Slab
6. You can Close
7. Edit → Crystal → Generate Supercell… and pick (2,0,0), (1,2,0), and (0,0,1)
8. Save this base system as Pt111_2x2_base

Note

At this stage you do not need to run a job yet if you plan to reuse this structure as a template for all adsorption systems. However, it is often useful to save the base slab as a separate job or geometry file.

../_images/Pt111_2x2_82a8a28f.png

Part C: Identify the Adsorption Sites

The common adsorption sites on Pt(111) are top, bridge, fcc hollow, and hcp hollow.

../_images/Adosprtion_sites_7725ff47.png

Part D: Build the Adsorbed Structures

The next step is to create a small library of adsorbate structures from the slab:

  • Pt + O(fcc)

  • Pt + O(hcp)

  • Pt + CO(top)

  • Pt + CO(bridge)

  • Pt + O2(t-fcc-b)

  • Pt + O2(t-b-t)

  • Pt + CO(top) + O2(t-fcc-b)

  • Pt + CO(top) + O2(t-b-t)

Build atomic oxygen structures

1. Open the base Pt(111) slab
2. Add one O atom above the selected fcc hollow site
3. Place it about 1.2 to 1.3 Å above the top Pt layer
4. Save the job as ads_sites_o_fcc_2x2
5. Repeat for the hcp hollow site and save as ads_sites_o_hcp_2x2

Build CO structures

1. Open the base Pt(111) slab
2. Add a CO molecule with the C atom closest to the surface
3. For the top-site structure, place the C atom above a top site
4. Start with a C-surface distance of about 1.8 to 1.9 Å
5. Save as ads_sites_co_top_2x2
6. Repeat with the C atom above a bridge site
7. Save as ads_sites_co_bridge_2x2

Build O2 structures

1. Open the base Pt(111) slab
2. Add an O2 molecule roughly parallel to the surface
3. For the first motif, place the two O atoms so they project near a top-fcc-bridge arrangement
4. Start from an O-O distance of about 1.3 Å
5. Save as ads_sites_o2_t_fcc_b_2x2
6. Build the second motif with a top-bridge-top arrangement
7. Save as ads_sites_o2_t_b_t_2x2

Build the coadsorbed structures

1. Open the first O2 structure ads_sites_o2_t_fcc_b_2x2
2. Add a CO molecule at the same top site used for CO(top)
3. Save as ads_sites_coads_t_fcc_b_2x2
4. Open the second O2 structure ads_sites_o2_t_b_t_2x2
5. Add the same CO(top) adsorbate
6. Save as ads_sites_coads_t_b_t_2x2

Tip

Keep the atom ordering as consistent as possible when you later want to use these structures for NEB. In particular, it is helpful if the slab atoms stay unchanged and new adsorbate atoms are added in a reproducible order.

../_images/Singly_adsorbed_df555ca5.png ../_images/Co_adsorbed_eb5aad4d.png

Part E: Freeze the Bottom Two Pt Layers

For the slab-containing geometry optimizations, the notebook freezes the bottom two Pt layers. In the GUI, do the same using atom constraints.

Part F: Run the Geometry Optimizations

You will now relax:

  • the clean slab,

  • the gas-phase references O2, CO, and CO2,

  • all adsorption structures, and

  • both coadsorption structures.

Warning

For all geometry optimizations, be sure that Optimize lattice is unckecked in Details → Geometry Optimization. We want to use the bulk optimized lattice parameter for all calculations which is that we have used to build the initial Pt(111) slab.

Clean slab

1. Open the clean slab job
2. Set Task to Geometry Optimization
3. Use MLPotential with UMA-S-1.2-OC25
4. Keep the bottom two Pt layers frozen
5. Save and run as ads_sites_pt111_clean_2x2

Gas-phase reference molecules

1. Create separate molecular jobs for O2, CO, and CO2
2. Use the same MLPotential
3. Use Geometry Optimization
4. No slab constraints are needed for these gas-phase jobs
5. Save them as ads_sites_o2_gas_ref, ads_sites_co_gas_ref, and ads_sites_co2_gas_ref

Adsorbate and coadsorbate jobs

1. Open each adsorbate and coadsorbate structure in turn
2. Use Geometry Optimization
3. Use MLPotential with UMA-S-1.2-OC25
4. Keep the same bottom-layer constraints
5. Run each job and wait for all calculations to finish

Part G: Analyze Adsorption and Binding Energies

After the jobs finish, collect:

  • the total energy of the clean slab,

  • the total energies of the gas-phase reference molecules,

  • the total energies of the relaxed adsorbate structures, and

  • a few structural metrics such as O-O distance and C height above the surface.

Suggested analysis workflow

1. Open the result of ads_sites_pt111_clean_2x2 and record the total energy
2. Record the total energies of O2, CO, and CO2
3. For each adsorption job, record the relaxed total energy
4. Inspect the final geometry in AMSmovie or the structure viewer
5. Measure the O-O bond length for O2-containing structures
6. Measure the height of the C atom above the top Pt layer for CO-containing structures

You can then evaluate the same binding-energy expressions used in the notebook. For example:

\[E_\mathrm{bind}(\mathrm{CO}) = - \left[E(\mathrm{Pt+CO}) - E(\mathrm{Pt}) - E(\mathrm{CO})\right]\]

and similarly for O and O2 references.

Note

The notebook compares the calculated values to selected numbers from Ref. [1]. In the GUI workflow, it is convenient to create a small table with columns such as:

  • structure name,

  • total energy,

  • binding energy,

  • O-O distance,

  • C height above Pt,

  • short comment.

Note

Screenshot placeholder: a results table or spreadsheet containing the relaxed adsorption energies and geometric descriptors.

Part H: Choose the Reaction-State Candidates

At this point, compare the two relaxed coadsorbed states:

  • Pt + CO(top) + O2(t-fcc-b)

  • Pt + CO(top) + O2(t-b-t)

These are the two candidate initial states for the reaction-path calculations.

Part I: Build the Final-State Guess for NEB

The notebook defines a simple final-state guess by taking a relaxed coadsorbed structure and moving the oxygen atom from O2 that is second-closest to C to a shorter C-O distance, while keeping the atom ordering unchanged.

In the GUI, the same operation can be done manually.

Prepare the final structure

1. Open one relaxed coadsorbed structure
2. Identify the three O atoms:
3. Determine which O is already bonded to C in CO
4. Among the remaining two O atoms, find the one closer to C
5. Move that O atom toward C so that the C-O distance is about 1.6 Å
6. Keep the rest of the structure unchanged for this first NEB guess
7. Save the modified structure as the final-state guess for that NEB job

Tip

The purpose of this final structure is not to be a fully relaxed product state. It is a consistent endpoint guess that can be used to define a reasonable first NEB path.

Note

Screenshot placeholder: side-by-side view of the relaxed coadsorbed initial state and the manually edited final-state guess.

Part J: Run the NEB Calculations

Once you have a reactant structure and a product-side guess with the same atom ordering, you can define the NEB in AMSinput.

Set up the NEB job

1. Open AMSinput and prepare the initial structure in the main system block
2. Add the final structure as the second endpoint of the NEB setup
3. Set Task to NEB
4. Keep MLPotential with UMA-S-1.2-OC25
5. Enable D4 Dispersion
6. Set the number of NEB images to about 9
7. Keep the bottom two Pt layers frozen
8. If available in your interface, enable PES point characterization
9. Optionally enable PreOptimizeWithIDPP and Climbing image if you want a more refined path
10. Save the jobs for the two coadsorbed pathways
11. Run them from AMSjobs

Note

Keep the initial and final atom order exactly consistent. This is one of the most important practical requirements for a successful NEB setup.

Note

Screenshot placeholder: NEB setup window showing the initial and final structures, the number of images, and the frozen-layer constraints.

Part K: Inspect the NEB Paths

After the NEB jobs finish, extract and compare the energy profiles.

Suggested analysis workflow

1. Open each NEB result in AMSjobs
2. Inspect the image sequence in AMSmovie
3. Record the relative energies of the NEB images
4. Identify the highest-energy image for each path
5. Compare the two pathways and note which one has the lower barrier

This gives a first reaction-path comparison for the two CO* + O2* motifs. If needed, you can refine the study by:

  • improving the final-state guess,

  • increasing the number of images,

  • enabling climbing-image NEB,

  • or relaxing the final state separately before rerunning the NEB.

Note

Screenshot placeholder: NEB energy plot comparing the two candidate pathways.

Summary

In this tutorial, you learned how to use AMSinput and AMSjobs to:

  • optimize bulk Pt and build a Pt(111) slab,

  • construct a small adsorption-site library,

  • prepare and relax O*, O2*, CO*, and CO* + O2* structures,

  • evaluate binding energies against literature trends, and

  • define and run an NEB workflow for CO oxidation on Pt(111).

This is a practical example of how to turn a surface-reaction idea into a reproducible AMS workflow. The same general structure can be reused for other catalytic surfaces, adsorbates, and reaction channels.

References