Hi,
A few things:
When I run your script as is, it seems like the cells on the edge are not getting included in the region. If i change the script to just Msat=3.968e5 etc, instead of using regions, that intial downtick in the hysteresis goes away. I think this is probably because 22e-9 is not a nice multiple of your cells (it's centered at the origin, so 11nm on either side, but your cells are 2nm thick), and you're getting some weird rounding issues. Doing a bit more testing, it seems to be related to EdgeSmooth. If I remove edge smooth the outer cells are included.
An easy way to test this issue is to do something like:
m=uniform(-1,0,0)
m.setregion(1,uniform(1,0,0))
And then check the OVF file to see if there are any cells with a -1. There should be none.
I would also recommend adding a slight canting to your applied field or noise, to break the symmetry. For more details, you can check previous discussions such as this one:
https://groups.google.com/g/mumax2/c/2dND1-gHSMk/m/AfeQQ-QMBwAJ or this:
https://groups.google.com/g/mumax2/c/xbWpydOpzew/m/90joFzYOBwAJ . You can also read about highly symmetric states in the new mumax tutorial paper here:
https://doi.org/10.1063/5.0160988 . It has a well written section "Dealing with highly symmetric initial states" that covers the topic as well.
Last, if I understand the paper, I believe Fig1 inset still has an outer shell region. The plot is only showing for the core (so would be like saving m.region(1)), but the simulation itself includes the shell. Your script as is, only has the core.
Best,
Josh L.