# How to model the final state for NEB calculations in ASE

I want to find the transition state properties (activation energy, reaction rate and few thermodynamic properties). I found out that NEB can do the transition state search. I have already created the initial state. I also read that it is advisable to make a copy of the initial state and add some changes to get the final state. My question is as follows:

Reaction: C(s) + H2O --> C(OH)ads + H+ + e-

In this case the water is adsorbed on surface carbon to produce adsorbed C-OH releasing a proton and an electron.

How do I model the proton and electron in my final state? Should I just delete one H atom from H2O? Or should I break the bond while still keeping the H atom in the final state? Or is there a way to model H+ and e-? If so, how?

Also when i place the H2O molecule over the C atom and in GUI press on 'show bonds', the O is bonding with the neighboring C atoms too. Is it correct?

Here is my code for the initial state:

import ase.io
import ase.build
from ase.visualize import view
from ase.calculators.emt import EMT
import numpy as np
from ase.constraints import FixAtoms
from ase.optimize import QuasiNewton
from ase.io import write

# Create a water molecule
water = ase.build.molecule('H2O')

# Create a monolayer graphene surface (6x6 supercell) with a vacuum of 21 Å along z axis
slab = ase.build.graphene(formula='C2', a=2.46, size=(6,6,1))
slab.center(vacuum = 21, axis = 2)

#Add adsorbate on top of the surface (on the 32nd C atom) at a height of 3.31 Å
get_pos = slab[32]

# Setting calculator as EMT
slab.calc = EMT()

# Defining constraints: Fix all C atoms
mask = [atom.symbol=='C' for atom in slab]

# Relax the structure
relax = QuasiNewton(slab)
relax.run(fmax=0.05)
view(slab)

# Save the initial state
write('initial_state.traj',slab)
`
• +1 Are you trying to do a dissociative adosrption of water on graphene? if this is the case, then in the final state you should break the bond and have (OH) and (H) adsorbed on the surface based on their most preferred adsorption sites. Commented Jan 2 at 10:44
• @jaafarMehrez Thank you very much for the hint. Could you kindly suggest how can i break the bond and have (OH) and (H) adsorbed? Is it possible to show me through an example lets say taking my initial state? This would help me a lot in understanding. With this i will be able to apply similar principles for the rest of the reactions that i have. I kindly ask for your support as i am new to this. What i lack is the syntaxes for ASE or in general python Commented Jan 2 at 11:16
• Check doi.org/10.1021/acsomega.1c00389. At first you will need to find the most stable adsorption sites for H2O, OH, and H above the surface. After that your final state will be made of the possible highest adsorption sites for OH and H. I think with CI-NEB you can determine the minimum energy paths and transition states between the initial and the final states. Here is a tutorial for NEB with VASP github.com/drinwater/Nudged-Elastic-Band-Tutorial, and in ASE there is a class for both NEB and CI-NEB wiki.fysik.dtu.dk/ase/ase/neb.html Commented Jan 3 at 2:18
• @jaafarMehrez. Thank you very much, this was very helpful. Now i understand what needs to be done. However i do have some questions: 1. By keeping the adsorbate relaxed and optimizing the geometry exactly moves the molecules to the favourable adsorption sites. Am i correct here? 2. I created water through ase.build.molecule('H2O') and i assume that the H atoms are bonded with O. So if i move the H atom by a distance greater than the bond length, is the bond then broken in ASE? IF not how can i break the bond in ASE? I thank you again for all your insights Commented Jan 3 at 7:46
• @jaafarMehrez, i think i found some info on adsorption site screening [doi.org/10.1021/acs.jpcc.9b03076]. The possible adsorption sites (Top on C, center of C hexagon and bridge). Now i need to compute the adsorption energy(E_ads) for all these configurations and find out which has the lowest E_ads. This would be the most favourable site. Am i correct in this? Also, the H2O can be placed facing up, parallel or facing down to the surface. Do i need to see for these orientations as well? And do i need to do geometry optimization (relaxing the adsorbate) when computing the E_ads? Commented Jan 3 at 8:52