Can we calculate the absorption enthalpy at different temperature in VASP software via ab initio molecular dynamics? If yes, how?
I will give a general outline on how to perform such caculation. Before we start with the AIMD calculations we need to find the perferred adsorption site/sites according to the following steps:
- Geometry Optimization: Start by performing a geometry optimization of the isolated adsorbate and the surface (or Bulk depending on your structure) without any constraints. This step ensures that the structures are relaxed and at their minimum energy configurations.
- Slab Preparation: Create the surface slab model by constructing the desired surface unit cell, including the adsorption site. Make sure to include a sufficient vacuum region to avoid interactions between periodic images.
- Adsorption Site Determination: Identify the adsorption site on the surface where the adsorbate will bind. This can be done by considering the surface structure and chemical interactions. It's crucial to choose a physically reasonable and chemically relevant adsorption site. Within this step, you can get the adsorption energy of let's say molecule (A) on the desired surface at (0K).
At the end of those steps, we would have a strucutre of adsorbate/adsorbent which will be used as the starting geometry for the AIMD run.
AIMD Simulation: Construct the necessary input files for the AIMD calculation in VASP. This includes specifying the computational parameters such as the time step, temperature, ensemble (e.g., NVE, NVT), and convergence criteria. You may need to use a thermostat to control the temperature during the simulation. Here I provide some general tags for AIMD, you may need to check the documentations and vaspwiki for further information regarding each of those tags:
PREC = Normal ENCUT = 400 ALGO = Fast LREAL = Auto ISMEAR = 0 # Gaussian smearing SIGMA = 0.05 ISYM = 0 # Symmetry off # MD related IBRION = 0 # MD POTIM = 0.5 # Time step=0.5 fs NSW = 100 # Number of ionic steps TEBEG = 400 # Start temperature TEEND = 400 # Final temperature SMASS = 0 # Canonical (Nose-Hoover) thermostat POMASS = 16.0 2.0 # Deuterium mass for Hydrogen # Don’t write WAVECAR or CHGCAR LWAVE = F LCHARG = F
and remember to use gamma-only for the kpoint sampling:
1 1 1
0 0 0
run the calculation with vasp_gam when using Gamma-only scheme. Moreover, the simulation time should be long enough to account for the equilibration of the system and to capture the desired dynamics. Here by controlling the TEBEG and TEEND, you can specifiy the starting and end temperature. In case you don't want the temperature to change then you will set those tags to the same value. At each time step, VASP will output the temperature, geometry (CONTCAR files), and total energy of the system which is this case (molecule+surface). Now you may choose to calculate the adosrption energy at specific points in time by subtracting the total energy of isolated molecule (Ea) and (slab or surface, Eb) from the total energy of the molecule/slab complex (Eab) which you have now at this specific point from the AIMD calculation. You may need to perform a single-point calculation in order to get Ea and Eb based on the CONTCAR file that was generated at the corresponding temperature.
You have to pay attention that raising up the temperature will lead to the desoprtion of the molecule from the surface and in some cases you might get unrealistic results. Thus, you need to be very careful and do some tests before you go into a full compuatation because such calculations can be computationally heavy.