How to implement biaxial anisotropy with different strengths along two axis in mumax³?

45 views
Skip to first unread message

胡玥

unread,
Apr 14, 2026, 5:03:36 AMApr 14
to mumax2

Dear all,

I would like to implement a biaxial anisotropy in mumax3 with different anisotropy constants along two orthogonal axes

 the energy density is given by 

E

ani(θ,ϕ)=Kipsin2θcos2ϕ+Koopeffsin2θ

or equivalently

with .

I have seen examples using a cubic term , but that forces the two axes to have the same coefficient.

What is the correct way to implement this in mumax³?

Any advice or minimal working example would be very helpful.

Thank you,
Yue Hu

Josh Lauzier

unread,
Apr 14, 2026, 6:13:29 PMApr 14
to mumax2
Hi,

The formatting for your equation seems to be broken.Can you try posting it again?

Best,
Josh L.

Yue Hu

unread,
Apr 14, 2026, 10:39:07 PMApr 14
to mumax2

Dear Josh

I'm very sorry for the formatting error. Eani.jpgor equivalently Eani2.jpg. I have seen some examples using a cubic termEani3.jpg, but in this form, the two axes seem to have the same coefficient. Any advice or minimal working example would be very helpful. Thank you, Yue

Josh Lauzier

unread,
Apr 21, 2026, 12:28:32 AM (9 days ago) Apr 21
to mumax2
Hi,

You can implement a biaxial anisotropy via custom fields. You can follow the example given in this previous discussion (with example code). The example is for a biaxial anisotropy with equal coefficients, but if you look to the form, there are two terms (if you write it out, it is B_custom= -(2*K_c/M_sat) [(c2 • m)^2 * (c1 • m) * c1+  (c1 • m)^2 * (c2 • m) * c2]. If you need to make them unequal strength, instead of using the same prefactor for both, it should be sufficient to assign different prefactors to each term.

For the cubic anisotropy: It can be done in some cases, but I would recommend the custom fields. For one, it only reduces to the single biaxial term if you know for sure the magnetization is in-plane of u1 and u2, otherwise it has 3 components. Any out-of-plane magnetization will contribute (and also, in mumax3 specifically, it calculates c3 from c1 and c2, so you can't manually set a term to 0 without changing the source code and recompiling). But also, even in the reduced form the two axes will have equivalent strengths. There is no real benefit to it over the custom fields approach (in fact, the custom field essentially is just a reduced form of the cubic anisotropy).

Best,
Josh L.

Yue Hu

unread,
Apr 27, 2026, 11:34:45 PM (2 days ago) Apr 27
to mumax2

Hi Josh,

Thank you very much for your helpful suggestion.

Following your advice on implementing biaxial anisotropy via custom fields and assigning different prefactors to each term, the issue is now resolved.

We really appreciate your clear explanation and guidance.

Best regards,
yue

Reply all
Reply to author
Forward
0 new messages