Page 1 of 1

Non-orthogonal Constrained Lattice Optimization

Posted: Tue Jun 11, 2019 7:32 pm
by aohara1986
Dear abinit community,

A colleague and I are working on a project in which we are trying to calculate total energy curves as a function of c lattice constant (letting the other two relax). From the user manual, we know that for orthorhombic cells this can be done using the "optcell = 9". However, our simulation cell is monoclinic and as pointed out in the manual this can't be done (or at least if implemented it isn't a main feature). I know that our question is similar to the following forum post which similarly pointed this out:
viewtopic.php?f=8&t=4105
However, in our case we only wish to keep the c-axis length fixed and allow for re-optimization of the a and b lattice constants and angles.

If there isn't a direct way to do this via the input file, does anybody know of an indirect way in which we can modify the source code in such a way that elements of the stress tensor are reset to zero between each optimization step and then perform the calculation using "optcell = 2"? I know, for example, that this can be done in other codes (e.g. VASP recommends how to re-zero the stress tensor in their source code for such an application), but I'm not as familiar with the layout of the abinit source code.

Thank you for any help!