you should checkout fsmtype, and mommtfix, where for the futher you should consider -2 as parameter (just direction) and the second set up the local moments. There should be an example in the example folder.
best regards
Michael
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Dear Michael
Thank you for your response,
can I have an example please other the one in the package
if I want Teta=90degrees and Phy=45
Or Teta =180 Phy=0
how I can do It?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
simple example see below for NiO where both spins exhibit a 90 degree angle which each other. I am not sure how you specify you angles hence I just put this example. Please note that the fields specified in the atoms sections and the moments specified within mommtfix have to have opposite signs since the latter is the moment, whereas the former is the field! If you are interested in spin orbite effects as well you can add
spinorb
.true.
but from this point on the relative orientation of your spins with respect to the crystal becomes important (see theory for magnetic crystalline anisotropy)
the reason is in the atoms block you define an intial field for the magnetic moments, whereas in the mommtfix you define the moment.
as you can test if you specifiy only the field during a selfconsitent run the magnetic moments will develop in opposite direction to the initial field according V=m.B. If you next want to constrain these moments you should choose a ''configuration'' close to this state and hence define moments with opposite signs to the field. Otherwise, you calculation will be a heavy job, as the constraint wants to create a configuration opposite to the initial state. I hope this helps/explains the situation.
best regards
Michael
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thank you so much for your quick and clear explanation. Just one more question. If I undertood correctly, the job of "mommtfix" is to fix the magnitude and direction of magnetic moment on atoms specifed in this block. In case I just want to fix the direction of local magnetic moment vectors and let their mgantiudes be determined by the scf loop, should I remove this block (since we have already given "fsmtype" the value "-2".
Thanks again for your kind help.
Saeed
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
as stated in the manual, if you want to constrain a direction you still have to give values here as correspond to the direction you want to constrain. So in full detail
The fields you provide in the atoms block are the initial ''kick'' to induce a spin-polarization. The fields provided here are finally faded out controlled by the parmeter ''reducebf''
if you want to constrain now the system to a specific setting you use mommtfix and specifiy the configuration you want (remember the minus with respect to the atoms block). These constraints are maintained over the entire SCF run. If you want only directions than set fsmtype -2.
Hope this is clear now.
best
Michael
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
How can I constrain spin angles without spin spiral?
thank you
Dear users,
Currently I am using elk v 4.3.6 and i want to upgrade it so please tell me how to install latest version of elk.
thanking you.
Dear ayoub,
you should checkout fsmtype, and mommtfix, where for the futher you should consider -2 as parameter (just direction) and the second set up the local moments. There should be an example in the example folder.
best regards
Michael
Dear Michael
Thank you for your response,
can I have an example please other the one in the package
if I want Teta=90degrees and Phy=45
Or Teta =180 Phy=0
how I can do It?
Dear ayoub,
simple example see below for NiO where both spins exhibit a 90 degree angle which each other. I am not sure how you specify you angles hence I just put this example. Please note that the fields specified in the atoms sections and the moments specified within mommtfix have to have opposite signs since the latter is the moment, whereas the former is the field! If you are interested in spin orbite effects as well you can add
spinorb
.true.
but from this point on the relative orientation of your spins with respect to the crystal becomes important (see theory for magnetic crystalline anisotropy)
best regards
Michael
example file
tasks
0
spinpol
.true.
avec
1.0 0.5 0.5
0.5 1.0 0.5
0.5 0.5 1.0
atoms
2 : nspecies
'Ni.in' : spfname
2 : natoms; atpos, bfcmt below
0.0 0.0 0.0 0.0 2.0 0.0
0.5 0.5 0.5 0.0 0.0 2.0
'O.in' : spfname
2 : natoms; atpos, bfcmt below
0.25 0.25 0.25 0.0 0.0 0.0
0.75 0.75 0.75 0.0 0.0 0.0
reducebf
0.5
fsmtype
-2
mommtfix
1 1 0 -2 0
1 2 0 0 -2
thank you sir
I appreciate your help
thank you
Dear mfechner,
Can you please explin why the Ni momens defined in "mommtfix" have opposite signs as compared to the correspodning values in "atoms" block.
Thanks
Dear Saeed,
the reason is in the atoms block you define an intial field for the magnetic moments, whereas in the mommtfix you define the moment.
as you can test if you specifiy only the field during a selfconsitent run the magnetic moments will develop in opposite direction to the initial field according V=m.B. If you next want to constrain these moments you should choose a ''configuration'' close to this state and hence define moments with opposite signs to the field. Otherwise, you calculation will be a heavy job, as the constraint wants to create a configuration opposite to the initial state. I hope this helps/explains the situation.
best regards
Michael
Dear Michael,
Thank you so much for your quick and clear explanation. Just one more question. If I undertood correctly, the job of "mommtfix" is to fix the magnitude and direction of magnetic moment on atoms specifed in this block. In case I just want to fix the direction of local magnetic moment vectors and let their mgantiudes be determined by the scf loop, should I remove this block (since we have already given "fsmtype" the value "-2".
Thanks again for your kind help.
Saeed
Dear Saeed,
as stated in the manual, if you want to constrain a direction you still have to give values here as correspond to the direction you want to constrain. So in full detail
The fields you provide in the atoms block are the initial ''kick'' to induce a spin-polarization. The fields provided here are finally faded out controlled by the parmeter ''reducebf''
if you want to constrain now the system to a specific setting you use mommtfix and specifiy the configuration you want (remember the minus with respect to the atoms block). These constraints are maintained over the entire SCF run. If you want only directions than set fsmtype -2.
Hope this is clear now.
best
Michael
Dear Michael,
Thank you very much for your clear and detailed explantion. It helped me a lot.
Best regards,
Saeed