I want to find out the equilibrium lattice length of several layer atoms for a system coupling to fluids by using superlattice method. I prefer to the lattice minimization method. However, in some situations, the magnitude of the outplane lattice vector changes dramatically, which leads to a large strain and then an error. I have no idea why this can happen because there should be no interactions between neighboring slabs. I want to know whether the length of outplane lattice vector can be fixed during lattice minimization.
Thanks very much for your attention and your sharing of the excellent software.
Regards,
Sheng
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I think what you want to do can be accomplished using the latt-move-scale command. If you want to fix the 3rd lattice vector, you should have latt-move-scale 1 1 0
A note of caution (but I don't think it applies to your case) that jdftx will complain if your move scales break any symmetries of the lattice. For example, if you assign different move scales in a cubic lattice, the code will exit. To avoid this, you can either turn symmetries off (symmetries none), input manual symmetries or have initial lattice vectors that break the symmetry (my preference).
Cheers,
Deniz
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Alternatively, you can make the superlattice method much more accurate by using a truncated Coulomb potential. JDFTx supports truncation for slab-like wire-like as well as fully isolated systems. (See appendix of Phys. Rev. B 87, 165122 (2013) )
JDFTx will automatically exclude truncated directions from lattice minimization; so if you use slab truncation, the inter-layer spacing will be held fixed.
Cheers,
Shankar
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Dear Shankar,
I want to find out the equilibrium lattice length of several layer atoms for a system coupling to fluids by using superlattice method. I prefer to the lattice minimization method. However, in some situations, the magnitude of the outplane lattice vector changes dramatically, which leads to a large strain and then an error. I have no idea why this can happen because there should be no interactions between neighboring slabs. I want to know whether the length of outplane lattice vector can be fixed during lattice minimization.
Thanks very much for your attention and your sharing of the excellent software.
Regards,
Sheng
Hi Sun,
I think what you want to do can be accomplished using the latt-move-scale command. If you want to fix the 3rd lattice vector, you should have latt-move-scale 1 1 0
A note of caution (but I don't think it applies to your case) that jdftx will complain if your move scales break any symmetries of the lattice. For example, if you assign different move scales in a cubic lattice, the code will exit. To avoid this, you can either turn symmetries off (symmetries none), input manual symmetries or have initial lattice vectors that break the symmetry (my preference).
Cheers,
Deniz
Alternatively, you can make the superlattice method much more accurate by using a truncated Coulomb potential. JDFTx supports truncation for slab-like wire-like as well as fully isolated systems. (See appendix of Phys. Rev. B 87, 165122 (2013) )
JDFTx will automatically exclude truncated directions from lattice minimization; so if you use slab truncation, the inter-layer spacing will be held fixed.
Cheers,
Shankar
Deniz and Shankar,
Thanks for the kindly replies. I will try these methods.
Regards,
Sheng
Last edit: SUN Sheng 2013-05-22