Author Topic: How does the MFA Curie works?  (Read 139 times)

0 Members and 1 Guest are viewing this topic.

Offline TiagoEsc

  • New QuantumATK user
  • *
  • Posts: 1
  • Country: pt
  • Reputation: 0
    • View Profile
How does the MFA Curie works?
« on: Today at 00:49 »
I have been working with Heisenberg, and when I calculate the MFA Curie temperature of ferromagnetic materials using the code (heisenberg_exchange.curieTemperature()) and manually (2 / (Kb * 3) * ∑ Jij), I get different results, but with small differences. However, when dealing with an antiferromagnetic material, the code does not work correctly it gives me a positive result, when it should give me a negative result, but manualy it works, giving me a negative result.

An example I have is for NiO:
Using the code, I obtained 95.9896238532 K.
Manually, I obtained -1182.25761098 K.
This was done with a density mesh of 125 Hartree, 15 k-points in the LCAOCalculator, and 12 k-points in Heisenberg.

How exactly does the MFA Curie temperature work so that it gives a different result?

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5638
  • Country: dk
  • Reputation: 107
    • View Profile
    • QuantumATK at Synopsys
Re: How does the MFA Curie works?
« Reply #1 on: Today at 08:55 »
The code uses a slightly different expression than actually shown in the manual.
Following J. Phys. Soc. Jpn. 88, 114706 (2019), p. 6. it diagonalizes the coupling matrix (with the unit matrix subtracted) and picks the largest eigenvalue.
If you think there is something wrong in this approach or have further problems, please send me a direct message and make sure to include input/output for a deeper analysis. I can also then share a small script corresponding to what the code does internally.
« Last Edit: Today at 08:56 by Anders Blom »