something about dispersion relation

15 views
Skip to first unread message

Shiwei Meng

unread,
Jan 14, 2026, 3:20:14 AM (3 days ago) Jan 14
to mumax2
Hi  
i am using the python code from mumax postprocessing to obtain dispersion relation ,i replace the example 5 script in this code with my script.but i only get the theoretical value,the code don not has an error ,i feel very confused .i will be be very grateful if you can help me solve this problem
best 
mengSV
this  is my script
poseprocess.py

Shiwei Meng

unread,
Jan 14, 2026, 3:23:16 AM (3 days ago) Jan 14
to mumax2
i absolutely forget to post the result
Figure_1.pngi

Josh Lauzier

unread,
Jan 14, 2026, 4:51:12 AM (3 days ago) Jan 14
to mumax2
Hi,

The main issue is that you are using a sin() excitation instead of a sinc(). This will only excite at the frequency of the sin (in your case, 6 Ghz, you can just barely see it at the bottom). If you want the entire dispersion curve, you should use an excitation like a sinc(2*pi*f*(t-t0)), which will excite all frequences below f. When using a sinc, you should also keep in mind to shift it away from being centered at t=0, as this will cut off some of the excitation. Something like:

t0:=1/{fmax}
B_ext.setregion(1,vector(A*sinc(2*pi*20e9*(t-t0)),0, {Bz}))

A couple other small notes:

You probably want to apply the static external bias field to the entire sample. So before you relax(), you will want to do
B_ext=vector(0,0,{Bz}) 

Last, in your amplitude, you have it commented as 10mT. A:=1 will apply an excitation of 1Tesla, this should be something like 0.01 in order to be 10mT.

Best,
Josh L.
Reply all
Reply to author
Forward
0 new messages