I am trying to run some geometry relaxations in abinit including constraints, as described by the wtatcon flag. However, I’m a little bit confused on how to use the constraints and would appreciate some advice.
For context, I am looking at layered systems, e.g. MoS2, etc. I want to do a relaxation of a stack of layers, and have each layer move rigidly, optimizing only the distance between the layers. For example, for two layers of MoS2, I want to keep the bottom layer fixed (easily achieved with natfix), and then relax the top layer (z direction only), but preserving the relative positions of the atoms within the top layer.
Here is a simple input file showing how I think this could be done:
mos2.in (2.7 KB)
although it doesn’t seem to work for me. The example for wtatcon in the documentation is a little bit too simple, since it is just one constraint equation and it says “assuming the masses are equal” (do we really need to calculate the relative masses every time we want to do a constrained relaxation?..)
I would appreciate any advice if anyone has experience using these constraints