How to simulate dynamics of a magnetic film with biaxial anisotropy?

287 views
Skip to first unread message

Jinjun Ding

unread,
Dec 5, 2016, 1:15:53 PM12/5/16
to mumax2
Hi, my name is Jinjun and I'm working in Colorado State University. I need to simulate dynamics of a magnetic film with biaxial anisotropy. Can Mumax3 do it? Or should I write the script for biaxial anisotropy? If I need to write the script for that, do I have some reference?

Thanks a lot for your help.

Best, Jinjun

Michael Schmidt

unread,
Dec 6, 2016, 4:36:03 AM12/6/16
to mum...@googlegroups.com
Hello,

http://mumax.github.io/api.html
http://mumax.github.io/examples.html

CTRL + F "cubic" should give you some hints

Regards

Ahmad Syukri bin Abdollah

unread,
Dec 6, 2016, 5:48:44 AM12/6/16
to mum...@googlegroups.com
Wouldn't that introduce a third anisotropy axis?

There was a feature request for adding another uniaxial anisotropy term: https://github.com/mumax/3/issues/16
No work is done yet; are there any publication references that show how to express biaxial anisotropy energy?

2016/12/06 午後6:36 "'Michael Schmidt' via mumax2" <mum...@googlegroups.com>:
--
You received this message because you are subscribed to the Google Groups "mumax2" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mumax2+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Felipe Garcia

unread,
Dec 6, 2016, 8:15:06 AM12/6/16
to mumax2
Hi Ahmad, some times cubic anisotropy is called biaxial anisotropy because if one does an inplane magnetization curve one sees two in plane easy axis. If this is what one wants is already implemented. Otherwise I agree it is better to know whether Jinjun wants to have to easy axis with different constants.

Regards,
Felipe

Jinjun Ding

unread,
Dec 6, 2016, 4:10:08 PM12/6/16
to mumax2
Hi Michael,

Thanks a lot for your suggestion. I looked into the webpage you gave me. Basically the example is for cubic anisotropy. My aim is to simulate magnetic film with biaxial anisotropy. Two easy axises are (1 0 0) and (0 1 0). I know there are some anology between cubic anisotropy and biaxial anisotropy. But I don't know how to make a change from cubic to biaxial anisotropy because they have difference too in terms of anisotropy energy and anisotropy field. Could you please show me how to do that?  
Thanks a lot for your time.

Best, Jinjun

Jinjun Ding

unread,
Dec 6, 2016, 4:21:21 PM12/6/16
to mumax2
Hi Ahmad,

Thank you very much for your reply. I looked into the webpage you gave me. It seems the issue is not solved. My aim is to simulate magnetic film with biaxial anisotropy. Two easy axises are (1 0 0) and (0 1 0). The anisotropy constant for the two easy axises are the same. There is a Ph.D thesis telling us how to express anisotropy energy and anisotropy field in magnetic films with biaxial anisotropy. http://digitalassets.lib.berkeley.edu/techreports/ucb/text/EECS-2014-225.pdf  It seems the energy can be expressed as K1*cos(theta1)^2*cos(theta2)^2, where theta1 and theta2 are angles between magnetization and the two axises respectively. But I still don't know how to do it in mumax. Could you please help me with that? Thank you very much for your time.

Best, Jinjun



To unsubscribe from this group and stop receiving emails from it, send an email to mumax2+un...@googlegroups.com.

Jinjun Ding

unread,
Dec 6, 2016, 4:24:41 PM12/6/16
to mumax2
Hi Felipe,

Thank you very much for your reply. I looked into the webpage you gave me. It seems the issue is not solved. My aim is to simulate magnetic film with biaxial anisotropy. Two easy axises are (1 0 0) and (0 1 0). The anisotropy constant K1 for the two easy axises are the same. I understand that there are some anology between cubic anisotropy and biaxial anisotropy. But there are some difference in terms of anisotropy energy and anisotropy field. There is a Ph.D thesis telling us how to express anisotropy energy and anisotropy field in magnetic films with biaxial anisotropy. http://digitalassets.lib.berkeley.edu/techreports/ucb/text/EECS-2014-225.pdf  It seems the energy can be expressed as K1*cos(theta1)^2*cos(theta2)^2, where theta1 and theta2 are angles between magnetization and the two axises respectively. But I still don't know how to do it in mumax. Could you please help me with that? Thank you very much for your time.

Best, Jinjun

On Tuesday, December 6, 2016 at 6:15:06 AM UTC-7, pkwgarcias wrote:
Hi Ahmad, some times cubic anisotropy is called biaxial anisotropy because if one does an inplane magnetization curve one sees two in plane easy axis. If this is what one wants is already implemented. Otherwise I agree it is better to know whether Jinjun wants to have to easy axis with different constants.

Regards,
Felipe
On Tue, Dec 6, 2016 at 11:48 AM, Ahmad Syukri bin Abdollah <syo...@gmail.com> wrote:
Wouldn't that introduce a third anisotropy axis?

There was a feature request for adding another uniaxial anisotropy term: https://github.com/mumax/3/issues/16
No work is done yet; are there any publication references that show how to express biaxial anisotropy energy?
2016/12/06 午後6:36 "'Michael Schmidt' via mumax2" <mum...@googlegroups.com>:
Hello,

http://mumax.github.io/api.html
http://mumax.github.io/examples.html

CTRL + F "cubic" should give you some hints

Regards


Am 05.12.2016 um 19:15 schrieb Jinjun Ding:
Hi, my name is Jinjun and I'm working in Colorado State University. I need
to simulate dynamics of a magnetic film with biaxial anisotropy. Can Mumax3
do it? Or should I write the script for biaxial anisotropy? If I need to
write the script for that, do I have some reference?

Thanks a lot for your help.

Best, Jinjun


--
You received this message because you are subscribed to the Google Groups "mumax2" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mumax2+un...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "mumax2" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mumax2+un...@googlegroups.com.

Felipe Garcia

unread,
Dec 6, 2016, 7:52:04 PM12/6/16
to mumax2
Hi Jinjun, that is the restriction to the plane of the cubic anisotropy. One can get this puting the third cubic anisotropy axis to zero and the other to axes are anisc1 and anisc2. However, in mumax the third axis is calculated automatically in the file cubicanisotropy2.cu with
float3 u3 = cross(u1, u2); // 3rd axis perpendicular to u1,u2
One simple way is to create another copy of the code where u3 is set to zero inside (or the terms corresponding to it removed).This is not very elegant but it would solve your problem. Maybe there is a better solution, because there is the risk that one mixes versions.

Best regards,
Felipe

To unsubscribe from this group and stop receiving emails from it, send an email to mumax2+unsubscribe@googlegroups.com.

Kelvin Fong

unread,
Dec 7, 2016, 7:33:15 AM12/7/16
to mumax2
Dear Jinjun,

Take a look at the kelvin_monoShapeHack branch in github.com/xfong/3. It should contain what you want. Look at the network graph to see whether the hack was applied on the head that you want.

[KuXX, AnisUxx], [KuYY, AnisUyy] and [KuZZ, AnisUzz] are like 3 additional uniaxial anisotropy energies.

Best,
Kelvin Fong

Jinjun Ding

unread,
Dec 7, 2016, 4:58:19 PM12/7/16
to mumax2
Dear Kelvin,

Thanks a lot for your information. I will look into that and try to find a solution then.

Best, Jinjun

Jinjun Ding

unread,
Dec 7, 2016, 5:04:24 PM12/7/16
to mumax2
Hi Felipe,

Thank you very much for your suggestion. I simply changed u3 to be (0 0 0) and set K1 = 1e6. I tested it to see it is correct to do that. Now if I set the initial magnetization to be in (1 2 0) direction, after 1 ns simulation time, the final stable state is in (0 1 0) direction. If I set the  initial magnetization to be in (2 1 0) direction, the final stable state will be in (1 0 0) direction.  it seems to be working fine. But I am still worried if there is something wrong that I don't know. Do you have a simple way to test whether it is right?
Thanks a lot for your time.

Best, Jinjun

Felipe Garcia

unread,
Dec 14, 2016, 9:27:21 AM12/14/16
to mumax2
Hi Jinjun, sorry for the late reply. The formula is equivalent  to K1*mx^2my^2. This means that there are two hard axis in plane but also one easy axis out of plane.   The easiest way to try it is to run something similar to the RKKY example.

N := 10
setgridsize(N, N, 2)

c := 1e-9
setcellsize(c, c, c)

Msat = 1e6

Aex  = 10e-12

anisC1 = vector(1, 0, 0)
anisC2 = vector(0, 1, 0)
Kc1 = 1e6

tableAdd(E_anis)

for ang:=0; ang<360; ang++{
    m.setRegion(0, uniform(cos(ang*pi/180), sin(ang*pi/180), 0))   
    t = ang * 1e-9 // output "time" is really angle
    tablesave()
}

The energy in mumax is calculated using the field and therefore you should get the shape of the formula you expect. Minimum for (1,0,0) and equivalents maximum for (1,1,0).
If you change the direction to m.setRegion(0, uniform(cos(ang*pi/180), 0, sin(ang*pi/180)))
it should give you zero for all the angles, which is in agreement with your formula which is K1*mx^2my^2. Another way is that for a small particle you obtain the corresponding hysteresis loops in all possible directions (x axis, 45 degrees, and z axis) but if you reproduce the energy landscape is already good.

Best regards,
Felipe


To unsubscribe from this group and stop receiving emails from it, send an email to mumax2+unsubscribe@googlegroups.com.

Jinjun Ding

unread,
Dec 14, 2016, 5:05:41 PM12/14/16
to mumax2
Hi Felipe,

Thank you very much for your detailed reply. I will try to digest it. Hopefully I can figure out a way.

Best, Jinjun

Yue Hu

unread,
Apr 14, 2026, 10:50:28 PMApr 14
to mumax2

Dear Felipe,

Thank you for your previous explanation.I want to implement a biaxial anisotropy with different anisotropy constants along two orthogonal axes, for example kip along x and koop along z. From what I understand, using a cubic term only allows the two axes to have the same coefficient. Could you please advise how to implement two orthogonal easy axes with different constants in MuMax3

Best Regards

Yue


在2016年12月6日星期二 UTC+8 21:15:06<pkwgarcias> 写道:
Hi Ahmad, some times cubic anisotropy is called biaxial anisotropy because if one does an inplane magnetization curve one sees two in plane easy axis. If this is what one wants is already implemented. Otherwise I agree it is better to know whether Jinjun wants to have to easy axis with different constants.

Regards,
Felipe
On Tue, Dec 6, 2016 at 11:48 AM, Ahmad Syukri bin Abdollah <syo...@gmail.com> wrote:
Wouldn't that introduce a third anisotropy axis?

There was a feature request for adding another uniaxial anisotropy term: https://github.com/mumax/3/issues/16
No work is done yet; are there any publication references that show how to express biaxial anisotropy energy?
2016/12/06 午後6:36 "'Michael Schmidt' via mumax2" <mum...@googlegroups.com>:
Hello,

http://mumax.github.io/api.html
http://mumax.github.io/examples.html

CTRL + F "cubic" should give you some hints

Regards


Am 05.12.2016 um 19:15 schrieb Jinjun Ding:
Hi, my name is Jinjun and I'm working in Colorado State University. I need
to simulate dynamics of a magnetic film with biaxial anisotropy. Can Mumax3
do it? Or should I write the script for biaxial anisotropy? If I need to
write the script for that, do I have some reference?

Thanks a lot for your help.

Best, Jinjun


--
You received this message because you are subscribed to the Google Groups "mumax2" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mumax2+un...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "mumax2" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mumax2+un...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages