selective optimization of cell vectors
Moderators: Global Moderator, Moderator
-
- Newbie
- Posts: 14
- Joined: Tue Dec 12, 2006 10:28 pm
- License Nr.: 5-430
selective optimization of cell vectors
Is there a way to selectively relax particular cell-vectors in VASP? As an example, in a slab calculation I want to only relax the a and b-axes of my supercell while keeping the c-axis length fixed (fixed amount of vacuum). ISIF=3 will not work since it essentially eliminates the vacuum; ISIF=4 is a possible compromise although the volume conservation constraint will result in changes in the amount of vacuum as the a and b vectors change length.
Last edited by ashwin on Sat Dec 04, 2010 5:36 pm, edited 1 time in total.
-
- Sr. Member
- Posts: 339
- Joined: Mon Apr 24, 2006 9:07 am
- License Nr.: 173
- Location: Gothenburg, Sweden
selective optimization of cell vectors
Well, I guess you can always use ISIF=4 and then do a static calculation with the vacuum distance you want afterwards. (Provided your vaccuum distance is sufficient from the beginning). Alternatively, you can keep to a script approach with constant volume and shape and do a lot of calculations over the changes in a and b.
Otherwise there is no possibility to do want you want by default. However, if you know what you are doing you can modify constr_cell_relax.F approriately (look at the example given there) to only allow for changes of the cell in a and b directions, and recompile vasp. Then depending on if you want to account for the interlayer changes (the Poisson effect) or not you can then set the selective dynamics flag accordingly.
Please keep in mind that all modifications you do in the code is your own responsibility. If you are not sure what you are doing I would advise to not do any changes.
Finally, just to note. If you use a slab with finite thickness and want to represent a semi-infinite surface system, then relaxing the lattice parameters parallell to the surface is not a very good idea. Please notice that for the "real" surface changing the lattice parameters would require an infinite elastic energy, while if you only have a couple of layers the energy gain in chemical interactions can overcome the elastic cost to change the lattice parameters. Provided that the slab is sufficiently large this effect will nevertheless not happen.
Cheers,
/Dan
<span class='smallblacktext'>[ Edited Sat Dec 04 2010, 10:48PM ]</span>
Otherwise there is no possibility to do want you want by default. However, if you know what you are doing you can modify constr_cell_relax.F approriately (look at the example given there) to only allow for changes of the cell in a and b directions, and recompile vasp. Then depending on if you want to account for the interlayer changes (the Poisson effect) or not you can then set the selective dynamics flag accordingly.
Please keep in mind that all modifications you do in the code is your own responsibility. If you are not sure what you are doing I would advise to not do any changes.
Finally, just to note. If you use a slab with finite thickness and want to represent a semi-infinite surface system, then relaxing the lattice parameters parallell to the surface is not a very good idea. Please notice that for the "real" surface changing the lattice parameters would require an infinite elastic energy, while if you only have a couple of layers the energy gain in chemical interactions can overcome the elastic cost to change the lattice parameters. Provided that the slab is sufficiently large this effect will nevertheless not happen.
Cheers,
/Dan
<span class='smallblacktext'>[ Edited Sat Dec 04 2010, 10:48PM ]</span>
Last edited by forsdan on Sat Dec 04, 2010 9:36 pm, edited 1 time in total.