Can we calculate the absorption enthalpy at different temperature in VASP software via ab initio molecular dynamics? If yes, how?

  • $\begingroup$ Are you referring to adsorption energy? such as the adsorption of an atom or a molecule on some surface? or you are referring to the enthalpic component of the adsorption energy? cause enthalpy is a thermodynamic quantity that includes not only the internal energy but also the effects of pressure and volume changes, so if you could specifiy what you are looking for here, I could provide you with some info $\endgroup$ Nov 29, 2023 at 0:14
  • $\begingroup$ thank you @JaafarMehrez for responding I want to calculate how to absorption enthalpy effect when temperature increases. molecule (A2) + surfaceโ†’ 2A*(absorb in bulk of surface) This calculation can i calculate via molecular dynamics? $\endgroup$ Nov 29, 2023 at 4:53

1 Answer 1


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:

    General 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:

#KPOINTS (Gamma-only)   
     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.

  • $\begingroup$ Thank you so much @JaafarMehrez This complete information is very useful for this. and I understand what you are saying, I am calculating the temperature (0K to 1000K), experimentally at this temperature the molecules dissociate and get absorbed into the surface so may be not desorbed atom from surface. Enthalpy change and energy change both are different and you told about Ea and Eb at different temperatures which is energy change, so here asking about enthalpy change. Can you explain this part also in detail . And can we use vasp_std instead of vasp_gam here? $\endgroup$ Nov 29, 2023 at 7:01
  • $\begingroup$ @RubiAgrawal You are right, the description I provided is about the internal energy, I am not that familiar with the term of enthalpy, but U can refer to this question here: mattermodeling.stackexchange.com/questions/9180/… $\endgroup$ Nov 29, 2023 at 8:26
  • $\begingroup$ You may refer to this paper pubs.rsc.org/en/content/articlelanding/2021/na/d1na00015b#!, check the supporting information, the equations are provided there. and btw let me know whether the answer I gave at first was not useful for you so I would delete it. $\endgroup$ Nov 29, 2023 at 8:44
  • $\begingroup$ you are absolutely right @JaafarMehrez that it is possible via kinetic modeling but i am also asking that it is possible that calculate enthalpy exchange via AIMD simulation? and whatever you told, if this is possible than it's very useful. and can we use vasp_std instead of vasp_gam here? $\endgroup$ Nov 29, 2023 at 9:13
  • $\begingroup$ with vasp_gam you can restrict your calculation to just one half of the Brillouin Zone. At the ฮ“-point, ๐‘˜=(0,0,0) and so +๐‘˜=โˆ’๐‘˜; . Thus, if you're using the ฮ“-point you only need to consider half of the plane-waves explicitly, and you can generate the rest by symmetry. This halves the memory requirements of the calculation, you need that for AIMD as it is comuptationaly heavy and takes long time. You can still do vasp_std for the selected structures from the AIMD trajectory $\endgroup$ Nov 29, 2023 at 10:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .