Non-orthogonal Constrained Lattice Optimization

Total energy, geometry optimization, DFT+U, spin....

Moderator: bguster

Locked
aohara1986
Posts: 1
Joined: Tue Jun 11, 2019 7:14 pm

Non-orthogonal Constrained Lattice Optimization

Post by aohara1986 » Tue Jun 11, 2019 7:32 pm

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!

Locked