Grain boundraies / ext_ScaleExchange()

51 views
Skip to first unread message

Muhammad Hassaan

unread,
Jun 12, 2026, 9:46:29 AMJun 12
to mumax2
Hello everyone,

I am working on a polycrystalline micromagnetic model in MuMax3. My model contains different grains, and normally I can introduce grain boundaries to reduce the magnetic interaction between neighboring grains.

However, before explicitly creating grain-boundary regions, I wanted to test whether I can weaken the exchange interaction directly between grains using the command:

ext_ScaleExchange(int, int, float)

I have tried using this command to reduce the exchange coupling between different grain regions, but the results are not what I expected. The hysteresis behavior does not change in the way I expected when the interaction between grains is weakened.

Has anyone here used ext_ScaleExchange() for reducing exchange interaction between grains in a polycrystalline model?

I would like to know:

1) Is ext_ScaleExchange() suitable for modeling weak inter-grain exchange coupling?

2) Is there any recommended way to verify that the command is actually working?
3) Would it be better to create explicit grain-boundary regions instead of only scaling the exchange between grains?

Any suggestions or example scripts would be very helpful.

Thank you very much.

Bests,
Muhammad Hassaan

Josh Lauzier

unread,
Jun 15, 2026, 7:52:45 AMJun 15
to mumax2
Hi,

Yes, it is possible. There is an example of this under "voronoi tesselation" on the examples page, that includes that command with grains. To visualize it, you can plot exchcoupling either in the GUI, or save it to an OVF. You can also look to B_exch or Edens_exch.

In mumax3, exchange only affects nearest neighbors, so generally speaking it is sufficient to just change the coupling between regions(grains). However, in my past experience, simply lowering/turning off exchange may not decouple the grains as strongly as you might expect at first guess(there are still external fields, as well as magnetostatic interactions, intra grain exchange etc). Especially if there is not a lot of domain wall nucleation. Defects or varying parameters slightly between grains can help with this a bit.

However, you might find the new ext_grainboundaries feature useful if you want to create explicit grainboundary regions. There is an example here. Whether it is 'better' I think depends on what experimental system you're trying to model, but it may help.

Best,
Josh L.
Message has been deleted

Muhammad Hassaan

unread,
Jun 15, 2026, 8:33:41 AMJun 15
to mumax2
Hi Josh,

Thank you so much for your detailed and helpful reply.

You are right that weakening the exchange alone does not completely isolate the grains. I also realized this while analyzing my results, thank you also for pointing out the ext_grainboundaries feature for creating explicit grain-boundary regions. I was not aware of this new command before, so I will definitely look into the example and try it in my model.

Bests,
Muhammad Hassaan
Reply all
Reply to author
Forward
0 new messages