[QE-users] constrained magnetization with non-colin and spin-orbit

BARRETEAU Cyrille cyrille.barreteau at cea.fr
Mon Jan 18 10:24:49 CET 2021


Dear Matteo

If I understand well you want to calculate the magnetic anisotropy of a magnetic molecule.
I am not sure I have understood well the way you proceed when you say that you "start" from a collinear lsda.

I would say that you can try two strategies:

i) using the force theorem as implemented in QE (one scf lsda calculation and then nscf with SOC starting from different theta angles..)
ii) use the magnetic constraint with penalization parameter lambda and perform a scf calculation. It will be more delicate but maybe more precise (not sure since you might face convergence problems)

best
Cyrille



========================
Cyrille Barreteau
CEA Saclay, IRAMIS, SPEC Bat. 771
91191 Gif sur Yvette Cedex, FRANCE
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+33 1 69 08 38 56 /+33  6 47 53 66 52  (mobile)
email:     cyrille.barreteau at cea.fr
Web:     http://iramis.cea.fr/Pisp/cyrille.barreteau/
========================
________________________________
De : users [users-bounces at lists.quantum-espresso.org] de la part de Matteo Cococcioni [matteo.cococcioni at unipv.it]
Envoyé : dimanche 17 janvier 2021 11:09
À : Quantum ESPRESSO users Forum
Objet : [QE-users] constrained magnetization with non-colin and spin-orbit


Dear all,

I am trying to run some calculations on a molecule with two magnetic ions (Mo) and I want to use the non collinear spin with spin-orbit to calculate the energy needed to change their direction. Starting from a collinear (lsda) calculation I managed to converge the non-collinear one in a ferromagnetic configuration, with magnetic moments aligned along z. Now I am using this ground state as starting point for a calculation where one or both spins are somehow deviated from the z direction. Following the instructions in INPUT_PW I am using the following settings (in &system):

    noncolin = .true.
    lspinorb=.true.
    angle1(1) = 30.0
    angle1(2) = 30.0
    constrained_magnetization = 'atomic direction'
    lambda = 1.0

where species 1 and 2 correspond to the two Mo, angle1 is the angle I want to have between z and the final magnetization, lambda is the strength of the quadratic constraint.

If I start from the potential of the ground state with the magnetization along z, the code starts with no problem and even pretends to converge for a number of iterations. Then suddenly the energy explodes and the code crashes saying that there are too many not converged eigenvalues.
While it seems converging nothing relevant seems to happen to angles: the constraint energy remains almost the same and the magnetization of both atoms maintains its original direction (aside small fluctuations). The same behavior is observed independently from the value of lambda (which is very strange) and beta (the mixing parameter).

looking into the code (add_bfield.f90) the implementation of the constraint seems fine, as far as I can tell (except that the code tries to constraint all magnetic moments once a lambda is present, which I fixed), and the potential seems to get a term from the constraint on magnetization. So I would expect it to do something.

Does anyone have any experience with this type of calculations? What am I missing or not doing right? Thanks in advance for any help/advice.

Best regards,

Matteo

--
Matteo Cococcioni
Department of Physics
University of Pavia
Via Bassi 6, I-27100 Pavia, Italy
tel +39-0382-987485
e-mail matteo.cococcioni at unipv.it<mailto:lucio.andreani at unipv.it>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20210118/6837b7ab/attachment.html>


More information about the users mailing list